ConditionalDeclaration

A conditional compilation declaration, used for version / debug and specialized for static if.

<condition> { <decl...> } else { <elsedecl> }

extern (C++)
class ConditionalDeclaration : AttribDeclaration {}

Members

Variables

condition
Condition condition;

condition deciding whether decl or elsedecl applies

elsedecl
Dsymbols* elsedecl;

array of Dsymbol's for else block

Inherited Members

From AttribDeclaration

decl
Dsymbols* decl;

Dsymbol's affected by this AttribDeclaration

createNewScope
Scope* createNewScope(Scope* sc, StorageClass stc, LINK linkage, CPPMANGLE cppmangle, Visibility visibility, int explicitVisibility, AlignDeclaration aligndecl, PragmaDeclaration inlining)

Create a new scope if one or more given attributes are different from the sc's. If the returned scope != sc, the caller should pop the scope after it used.

newScope
Scope* newScope(Scope* sc)

A hook point to supply scope for members. addMember, setScope, importAll, semantic, semantic2 and semantic3 will use this.

addLocalClass
void addLocalClass(ClassDeclarations* aclasses)
Suggestion Box / Bug Report