Declaration

extern (C++) abstract
class Declaration : Dsymbol {
Type type;
Type originalType;
StorageClass storage_class;
Prot protection;
LINK linkage;
int inuse;
const(char)* mangleOverride;
}

Members

Functions

checkModify
int checkModify(Loc loc, Scope* sc, Type t, Expression e1, int flag)

Check to see if declaration can be modified in this context (sc). Issue error if not.

Inherited Members

From Dsymbol

getModule
Module getModule()

Determine which Module a Dsymbol is in.

getAccessModule
Module getAccessModule()

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

toParent
inout(Dsymbol) toParent()
toParent2
inout(Dsymbol) toParent2()

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

arraySyntaxCopy
Dsymbols* arraySyntaxCopy(Dsymbols* a)

Do syntax copy of an array of Dsymbol's.

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.

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.

setScope
void setScope(Scope* sc)

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

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.

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.

size
d_uns64 size(Loc loc)
isMember
AggregateDeclaration isMember()

Returns an AggregateDeclaration when toParent() is that.

isMember2
AggregateDeclaration isMember2()

Returns an AggregateDeclaration when toParent2() is that.

prot
Prot prot()
syntaxCopy
Dsymbol syntaxCopy(Dsymbol s)

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

oneMember
bool oneMember(Dsymbol* ps, Identifier ident)

Determine if this symbol is only one.

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

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

hasPointers
bool hasPointers()

Is Dsymbol a variable that contains pointers?

addComment
void addComment(const(char)* comment)

Add documentation comment to Dsymbol. Ignore NULL comments.

inNonRoot
bool inNonRoot()

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

accept
void accept(Visitor v)

Meta