Dsymbol

Members

Functions

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

Add documentation comment to Dsymbol. Ignore NULL comments.

apply
int apply(Dsymbol_apply_ft_t fp, void* param)

Iterate this dsymbol or members of this scoped dsymbol, then call fp with the found symbol and param.

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.

isMember
AggregateDeclaration isMember()

Returns an AggregateDeclaration when toParent() is that.

isMember2
AggregateDeclaration isMember2()

Returns an AggregateDeclaration when toParent2() is that.

oneMember
bool oneMember(Dsymbol* ps, Identifier ident)

Determine if this symbol is only one.

prot
Prot prot()
search
Dsymbol search(Loc loc, Identifier ident, int flags = IgnoreNone)

Search for ident as member of s.

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

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

semantic
void semantic(Scope* sc)

Does semantic analysis on the public face of declarations.

semantic2
void semantic2(Scope* sc)

Does semantic analysis on initializers and members of aggregates.

semantic3
void semantic3(Scope* sc)

Does semantic analysis on function bodies.

setScope
void setScope(Scope* sc)

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

size
d_uns64 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()

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

Static functions

arraySyntaxCopy
Dsymbols* arraySyntaxCopy(Dsymbols* a)

Do syntax copy of an array of Dsymbol's.

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

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

Meta