英語版
このページの英語版を見る

dmd.optimize

一定の折りたたみを行う。
Authors:

出典 optimize.d

Expression expandVar(int result, VarDeclaration v);
変数に const イニシャライザがある場合、そのイニシャライザを返す、 そのイニシャライザを返す。
Returns:
イニシャライザーがあれば、そのイニシャライザーを返す、 なければnullを返す、 エラーならErrorExp
package void setLengthVarIfKnown(VarDeclaration lengthVar, Expression arr);
定数の折りたたみによって、長さが未知の配列式を、長さが既知の配列式に変更することができる。 を、長さが既知のものに変更することができる。 arr'式がリテラルである場合、lengthVarにその長さを設定する。
Parameters:
VarDeclaration lengthVar .length プロパティの変数宣言
Expression arr String、ArrayLiteral、TypeSArrayのいずれかである。
package void setLengthVarIfKnown(VarDeclaration lengthVar, Type type);
上記と同じであるが、'型'から長さを決定する。
Parameters:
VarDeclaration lengthVar .length プロパティの変数宣言
Type type TypeSArray
Expression optimize(Expression e, int result, bool keepLvalue = false);
定数は式を折りたたむ。
Parameters:
Expression e これは、インプレースで変更される可能性がある。
int result WANTvalue、WANTexpand、またはその両方である。
bool keepLvalue eはl値であるため、l値として保持する。 ref またはout パラメータの引数、または& 演算子のオペランドであるため、l値として保持する。
Returns:
の定数折りたたみバージョンである。 e