dmd.dsymbolsem
Does the semantic 1 pass on the AST, which looks at symbol declarations but not initializers or function bodies.
License
Source: dsymbolsem.d
Documentation: https://dlang.org/phobos/dmd_dsymbolsem.html
-
Declaration
voiddsymbolSemantic(Dsymboldsym, Scope*sc);Does semantic analysis on the public face of declarations.
-
Declaration
AlignDeclarationgetAlignment(AlignDeclarationad, Scope*sc);Determine the numerical value of the AlignmentDeclaration
Parameters
AlignDeclarationadAlignmentDeclaration
Scope*sccontext
Return Value
adwith alignment value determined -
Declaration
voidaddEnumMembers(EnumDeclarationed, Scope*sc, ScopeDsymbolsds);Add members of EnumDeclaration to the symbol table(s).
Parameters
EnumDeclarationedEnumDeclaration
Scope*sccontext of
edScopeDsymbolsdssymbol table that
resides ined -
Declaration
booldetermineFields(AggregateDeclarationad);Find all instance fields in
, then push them intoadfields.Discussion
Runs semantic() for all instance field variables, but also the field types can remain yet not resolved forward references, except direct recursive definitions. After the process sizeok is set to Sizeok.fwd.
Parameters
AggregateDeclarationadthe AggregateDeclaration to examine
Return Value
falseif any errors occur.