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
void
dsymbolSemantic
(Dsymboldsym
, Scope*sc
);Does semantic analysis on the public face of declarations.
-
Declaration
AlignDeclaration
getAlignment
(AlignDeclarationad
, Scope*sc
);Determine the numerical value of the AlignmentDeclaration
Parameters
AlignDeclaration
ad
AlignmentDeclaration
Scope*
sc
context
Return Value
ad
with alignment value determined -
Declaration
void
addEnumMembers
(EnumDeclarationed
, Scope*sc
, ScopeDsymbolsds
);Add members of EnumDeclaration to the symbol table(s).
Parameters
EnumDeclaration
ed
EnumDeclaration
Scope*
sc
context of
ed
ScopeDsymbol
sds
symbol table that
resides ined
-
Declaration
bool
determineFields
(AggregateDeclarationad
);Find all instance fields in
, then push them intoad
fields
.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
AggregateDeclaration
ad
the AggregateDeclaration to examine
Return Value
false
if any errors occur.