Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
a local clone.
dmd.declaration
Miscellaneous declarations, including typedef, alias, variable declarations including the
implicit this declaration, type tuples, ClassInfo, ModuleInfo and various TypeInfos.
Authors:
License:
Source declaration.d
Documentation https://dlang.org/phobos/dmd_declaration.html
- void
ObjectNotFound(Locloc, Identifierid); - abstract class
Declaration: dmd.dsymbol.Dsymbol; -
- final LINK
resolvedLinkage() const; - Returns the linkage, resolving the target-specific System one.
- final pure nothrow @nogc @safe bool
isReference() const; - Returns:Whether the variable is a reference, annotated with out or ref
- class
TupleDeclaration: dmd.declaration.Declaration; -
- void
foreachVar(scope void delegate(Dsymbol)dg); - Calls dg(Dsymbol) for each Dsymbol, which should be a VarDeclaration inside VarExp (isexp == true).Parameters:
void delegate(Dsymbol) dgdelegate to call for each Dsymbol - int
foreachVar(scope int delegate(Dsymbol)dg); - Calls dg(Dsymbol) for each Dsymbol, which should be a VarDeclaration inside VarExp (isexp == true). If dg returns !=0, stops and returns that value else returns 0.Parameters:
int delegate(Dsymbol) dgdelegate to call for each Dsymbol Returns:last value returned by dg()
- class
AliasDeclaration: dmd.declaration.Declaration; -
- bool
isAliasedTemplateParameter() const; - Returns:true if this instance was created to make a template parameter visible in the scope of a template body, false otherwise
- class
OverDeclaration: dmd.declaration.Declaration; - class
VarDeclaration: dmd.declaration.Declaration; -
- final bool
isDataseg(); - Does symbol go into data segment? Includes extern variables.
- final bool
isThreadlocal(); - Does symbol go into thread local storage?
- final bool
isCTFE(); - Can variable be read and written by CTFE?
- final @safe bool
canTakeAddressOf(); - Return true if we can take the address of this variable.
- final @safe bool
needsScopeDtor(); - Return true if variable needs to call the destructor.
- final Expression
getConstInitializer(boolneedFullType= true); - If variable has a constant expression initializer, get it. Otherwise, return null.
- final bool
checkNestedReference(Scope*sc, Locloc); - Check to see if this variable is actually in an enclosing function rather than the current one. Update nestedrefs[], closureVars[] and outerVars[].Returns:true if error occurs.
- class
BitFieldDeclaration: dmd.declaration.VarDeclaration; - C11 6.7.2.1-4 bit fields
- final ulong
getMinMax(Identifierid); - Retrieve the .min or .max values. Only valid after semantic analysis.Parameters:
Identifier idId.min or Id.max Returns:the min or max value
- class
SymbolDeclaration: dmd.declaration.Declaration; - This is a shell around a back end symbol
- class
TypeInfoStructDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoClassDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoInterfaceDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoPointerDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoArrayDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoStaticArrayDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoAssociativeArrayDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoEnumDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoFunctionDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoDelegateDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoTupleDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoConstDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoInvariantDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoSharedDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoWildDeclaration: dmd.declaration.TypeInfoDeclaration; - class
TypeInfoVectorDeclaration: dmd.declaration.TypeInfoDeclaration; - class
ThisDeclaration: dmd.declaration.VarDeclaration; - For the "this" parameter to member functions
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Fri Oct 10 22:07:49 2025