dmd.declaration

Miscellaneous declarations, including typedef, alias, variable declarations including the implicit this declaration, type tuples, ClassInfo, ModuleInfo and various TypeInfos.

Members

Classes

AliasDeclaration
class AliasDeclaration
Declaration
class Declaration
OverDeclaration
class OverDeclaration
SymbolDeclaration
class SymbolDeclaration

This is a shell around a back end symbol

ThisDeclaration
class ThisDeclaration

For the "this" parameter to member functions

TupleDeclaration
class TupleDeclaration
TypeInfoArrayDeclaration
class TypeInfoArrayDeclaration
TypeInfoAssociativeArrayDeclaration
class TypeInfoAssociativeArrayDeclaration
TypeInfoClassDeclaration
class TypeInfoClassDeclaration
TypeInfoConstDeclaration
class TypeInfoConstDeclaration
TypeInfoDeclaration
class TypeInfoDeclaration
TypeInfoDelegateDeclaration
class TypeInfoDelegateDeclaration
TypeInfoEnumDeclaration
class TypeInfoEnumDeclaration
TypeInfoFunctionDeclaration
class TypeInfoFunctionDeclaration
TypeInfoInterfaceDeclaration
class TypeInfoInterfaceDeclaration
TypeInfoInvariantDeclaration
class TypeInfoInvariantDeclaration
TypeInfoPointerDeclaration
class TypeInfoPointerDeclaration
TypeInfoSharedDeclaration
class TypeInfoSharedDeclaration
TypeInfoStaticArrayDeclaration
class TypeInfoStaticArrayDeclaration
TypeInfoStructDeclaration
class TypeInfoStructDeclaration
TypeInfoTupleDeclaration
class TypeInfoTupleDeclaration
TypeInfoVectorDeclaration
class TypeInfoVectorDeclaration
TypeInfoWildDeclaration
class TypeInfoWildDeclaration
VarDeclaration
class VarDeclaration

Functions

ObjectNotFound
void ObjectNotFound(Identifier id)
checkFrameAccess
bool checkFrameAccess(Loc loc, Scope* sc, AggregateDeclaration ad, size_t iStart = 0)

Check to see the aggregate type is nested and its context pointer is accessible from the current scope. Returns true if error occurs.

modifyFieldVar
bool modifyFieldVar(Loc loc, Scope* sc, VarDeclaration var, Expression e1)

Mark variable v as modified if it is inside a constructor that var is a field in.

Manifest constants

STCFlowThruAggregate
enum STCFlowThruAggregate;

for an AggregateDeclaration

STCFlowThruFunction
enum STCFlowThruFunction;

for a FuncDeclaration

Meta