Movatterモバイル変換


[0]ホーム

URL:


D Logo
Menu
Search

Library Reference

version 2.112.0

overview

Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinga local clone.

dmd.optimize

Perform constant folding.
Authors:
Walter Bright
License:
Boost License 1.0

Sourceoptimize.d

Documentationhttps://dlang.org/phobos/dmd_optimize.html

Coveragehttps://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/optimize.d

ExpressionexpandVar(intresult, VarDeclarationv);
If variable has a const initializer, return that initializer.
Returns:
initializer if there is one, null if not, ErrorExp if error
package voidsetLengthVarIfKnown(VarDeclarationlengthVar, Expressionarr);
It is possible for constant folding to change an array expression of unknown length, into one where the length is known. If the expression 'arr' is a literal, set lengthVar to be its length.
Parameters:
VarDeclarationlengthVarvariable declaration for the.length property
ExpressionarrString, ArrayLiteral, or of TypeSArray
package voidsetLengthVarIfKnown(VarDeclarationlengthVar, Typetype);
Same as above, but determines the length from 'type'.
Parameters:
VarDeclarationlengthVarvariable declaration for the.length property
TypetypeTypeSArray
Expressionoptimize(Expressione, intresult, boolkeepLvalue = false);
Constant fold an Expression.
Parameters:
Expressioneexpression to const fold; this may get modified in-place
intresultWANTvalue, WANTexpand, or both
boolkeepLvaluee is an lvalue, and keep it as an lvalue since it is an argument to aref orout parameter, or the operand of& operator
Returns:
Constant folded version ofe
Copyright © 1999-2026 by theD Language Foundation | Page generated byDdoc on Fri Feb 20 17:56:33 2026

[8]ページ先頭

©2009-2026 Movatter.jp