dmd.dsymbol

The base class for a D symbol, which can be a module, variable, function, enum, etc.

Members

Classes

AliasAssign
class AliasAssign

Encapsulate assigning to an alias: identifier = type; identifier = symbol; where identifier is an AliasDeclaration in scope.

ArrayScopeSymbol
class ArrayScopeSymbol

Array Index/Slice scope

Dsymbol
class Dsymbol
DsymbolTable
class DsymbolTable

Table of Dsymbol's

ExpressionDsymbol
class ExpressionDsymbol

Class that holds an expression in a Dsymbol wrapper. This is not an AST node, but a class used to pass an expression as a function parameter of type Dsymbol.

ForwardingScopeDsymbol
class ForwardingScopeDsymbol

Forwarding ScopeDsymbol. Used by ForwardingAttribDeclaration and ForwardingScopeDeclaration to forward symbol insertions to another scope. See dmd.attrib.ForwardingAttribDeclaration for more details.

OverloadSet
class OverloadSet

Overload Sets

ScopeDsymbol
class ScopeDsymbol

Dsymbol that generates a scope

WithScopeSymbol
class WithScopeSymbol

With statement scope

Functions

foreachDsymbol
int foreachDsymbol(Dsymbols* symbols, int delegate(Dsymbol) dg)

Calls dg(Dsymbol *sym) for each Dsymbol. If dg returns !=0, stops and returns that value else returns 0.

foreachDsymbol
void foreachDsymbol(Dsymbols* symbols, void delegate(Dsymbol) dg)

Calls dg(Dsymbol *sym) for each Dsymbol.

handleSymbolRedeclarations
Dsymbol handleSymbolRedeclarations(Scope sc, Dsymbol s, Dsymbol s2, ScopeDsymbol sds)

ImportC allows redeclarations of C variables, functions and typedefs. extern int x; int x = 3; and: extern void f(); void f() { } Attempt to merge them.

handleTagSymbols
Dsymbol handleTagSymbols(Scope sc, Dsymbol s, Dsymbol s2, ScopeDsymbol sds)

ImportC tag symbols sit in a parallel symbol table, so that this C code works:

Structs

FieldState
struct FieldState

Struct/Class/Union field state. Used for transitory information when setting field offsets, such as bit fields.

Visibility
struct Visibility
Undocumented in source.

Meta