dmd.dsymbolsem

Does the semantic 1 pass on the AST, which looks at symbol declarations but not initializers or function bodies.

Members

Functions

addEnumMembersToSymtab
void addEnumMembersToSymtab(EnumDeclaration ed, Scope* sc, ScopeDsymbol sds)

Add members of EnumDeclaration to the symbol table(s).

adjustLocForMixin
Loc adjustLocForMixin(const(char)[] input, Loc loc, Output mixinOut)

Set up loc for a parse of a mixin. Append the input text to the mixin.

checkPrintfScanfSignature
void checkPrintfScanfSignature(FuncDeclaration funcdecl, TypeFunction f, Scope* sc)

Check signature of pragma(printf) function, print error if invalid.

determineFields
bool determineFields(AggregateDeclaration ad)

Find all instance fields in ad, then push them into fields.

dsymbolSemantic
void dsymbolSemantic(Dsymbol dsym, Scope* sc)

Does semantic analysis on the public face of declarations.

evalPragmaInline
PINLINE evalPragmaInline(Loc loc, Scope* sc, Expressions* args)

Interpret a pragma(inline, x)

getAlignment
AlignDeclaration getAlignment(AlignDeclaration ad, Scope* sc)

Determine the numerical value of the AlignmentDeclaration

Meta