Dsymbol

Members

Functions

accept
void accept(Visitor v)
addComment
void addComment(const(char)* comment)

Add documentation comment to Dsymbol. Ignore NULL comments.

comment
const(char)* comment()

get documentation comment for this Dsymbol

ddocUnittest
UnitTestDeclaration ddocUnittest()

Get ddoc unittest associated with this symbol. (only use this with ddoc)

ddocUnittest
void ddocUnittest(UnitTestDeclaration utd)

Set ddoc unittest associated with this symbol.

followInstantiationContext
bool followInstantiationContext(Dsymbol p1, Dsymbol p2)

Returns true if any of the symbols p1 or p2 resides in the enclosing instantiation scope of this.

getAccessModule
Module getAccessModule()

Determine which Module a Dsymbol is in, as far as access rights go.

getModule
Module getModule()

Determine which Module a Dsymbol is in.

hasPointers
bool hasPointers()

Is Dsymbol a variable that contains pointers?

inNonRoot
bool inNonRoot()

Returns true if this symbol is defined in a non-root module without instantiation.

isCsymbol
bool isCsymbol()

Does this Dsymbol come from a C file?

isMember
inout(AggregateDeclaration) isMember()

Returns an AggregateDeclaration when toParent() is that.

isMember2
inout(AggregateDeclaration) isMember2()

Returns an AggregateDeclaration when toParent2() is that.

isMemberDecl
inout(AggregateDeclaration) isMemberDecl()

Returns an AggregateDeclaration when toParentDecl() is that.

isMemberLocal
inout(AggregateDeclaration) isMemberLocal()

Returns an AggregateDeclaration when toParentLocal() is that.

oneMember
bool oneMember(Dsymbol* ps, Identifier ident)

Determine if this symbol is only one.

pastMixin
inout(Dsymbol) pastMixin()

pastMixin returns the enclosing symbol if this is a template mixin.

search
Dsymbol search(Loc loc, Identifier ident, int flags)

Search for ident as member of s.

searchX
Dsymbol searchX(Loc loc, Scope* sc, RootObject id, int flags)

Search for identifier id as a member of this. id may be a template instance.

setScope
void setScope(Scope* sc)

Set scope for future semantic analysis so we can deal better with forward references.

size
uinteger_t size(Loc loc)
syntaxCopy
Dsymbol syntaxCopy(Dsymbol s)

Copy the syntax. Used for template instantiations. If s is NULL, allocate the new object, otherwise fill it in.

toAlias
Dsymbol toAlias()

If this symbol is really an alias for another, return that other. If needed, semantic() is invoked due to resolve forward reference.

toAlias2
Dsymbol toAlias2()

Resolve recursive tuple expansion in eponymous template.

toParent
inout(Dsymbol) toParent()
toParent2
inout(Dsymbol) toParent2()
toParentDecl
inout(Dsymbol) toParentDecl()
toParentLocal
inout(Dsymbol) toParentLocal()

parent field returns a lexically enclosing scope symbol this is a member of.

toParentP
Dsymbol toParentP(Dsymbol p1, Dsymbol p2)

Returns the declaration scope scope of this unless any of the symbols p1 or p2 resides in its enclosing instantiation scope then the latter is returned.

visible
Visibility visible()

Static functions

arraySyntaxCopy
Dsymbols* arraySyntaxCopy(Dsymbols* a)

Do syntax copy of an array of Dsymbol's.

deinitialize
void deinitialize()

Deinitializes the global state of the compiler.

oneMembers
bool oneMembers(Dsymbols* members, Dsymbol* ps, Identifier ident)

Same as Dsymbol::oneMember(), but look at an array of Dsymbols.

Variables

localNum
ushort localNum;

perturb mangled name to avoid collisions with those in FuncDeclaration.localsymtab

Inherited Members

From ASTNode

accept
void accept(Visitor v)

Visits this AST node using the given visitor.

Meta