Report a bugIf you spot a problem with this page, click here to create a Bugzilla issue.
Improve this pageQuickly 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.semantic2
Performs the semantic2 stage, which deals with initializer expressions.
void
semantic2(Dsymbol
dsym, Scope*
sc);
Does semantic analysis on initializers and members of aggregates.
FuncDeclaration
findFunc(ClassDeclaration
_this, Identifier
ident, TypeFunction
tf);
Find virtual function matching identifier and type. Used to build virtual function tables for interface implementations.
Parameters:ClassDeclaration_this | ClassDeclaration's vtbl to search |
Identifierident | function's identifier |
TypeFunctiontf | function's type |
Returns:function symbol if found, null if not
Errorsprints error message if more than one match
void
lowerStaticAAs(VarDeclaration
vd, Scope*
sc);
Try lower a variable's Associative Array initializer to a newaa struct so it can be put in static data.
Parameters:VarDeclarationvd | Variable to lower |
Scope*sc | Scope |
void
lowerStaticAAs(Expression
e, Scope*
sc);
Try lower all Associative Array literals in an expression to a newaa struct so it can be put in static data.
Parameters:Expressione | Expression to traverse |
Scope*sc | Scope |
void
staticAssertFail(StaticAssert
sa, Scope*
sc);
Given a static assert with a failing condition, print an error
Parameters:StaticAssertsa | Static assert with failing condition |
Scope*sc | scope for evaluating assert message and printing context |