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
- bool
checkFrameAccess(Locloc, Scope*sc, AggregateDeclarationad, size_tiStart= 0); - Check to see the aggregate type is nested and its context pointer is accessible from the current scope. Returns true if error occurs.
- bool
modifyFieldVar(Locloc, Scope*sc, VarDeclarationvar, Expressione1); - Mark variable v as modified if it is inside a constructor that var is a field in. Also used to allow immutable globals to be initialized inside a static constructor.Returns:true if it's an initialization of v
- void
ObjectNotFound(Identifierid); - abstract class
Declaration: dmd.dsymbol.Dsymbol; -
- final bool
checkDisabled(Locloc, Scope*sc, boolisAliasedDeclaration= false); - Issue an error if an attempt to call a disabled method is madeIf the declaration is disabled but inside a disabled function, returns true but do not issue an error message.Parameters:
Loc locLocation information of the call Scope* scScope in which the call occurs bool isAliasedDeclarationif true searches overload set Returns:true if this Declaration is @disabled, false otherwise. - final Modifiable
checkModify(Locloc, Scope*sc, Expressione1, ModifyFlagsflag); - Check to see if declaration can be modified in this context (sc). Issue error if not.Parameters:
Loc loclocation for error messages Expression e1null or this expression when this declaration is a field Scope* sccontext ModifyFlags flagif the first bit is set it means do not issue error message for invalid modification; if the second bit is set, it means that this declaration is a field and a subfield of it is modified. Returns:Modifiable.yes or Modifiable.initialization - final const LINK
resolvedLinkage(); - Returns the linkage, resolving the target-specific System one.
- final const pure nothrow @nogc @safe bool
isReference(); - 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; -
- const bool
isAliasedTemplateParameter(); - 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 bool
canTakeAddressOf(); - Return true if we can take the address of this variable.
- final bool
needsScopeDtor(); - Return true if variable needs to call the destructor.
- final Expression
callScopeDtor(Scope*sc); - If a variable has a scope destructor call, return call for it. Otherwise, return NULL.
- final Expression
getConstInitializer(boolneedFullType= true); - If variable has a constant expression initializer, get it. Otherwise, return null.
- final Expression
expandInitializer(Locloc); - Helper function for the expansion of manifest constant.
- 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-2024 by the D Language Foundation | Page generated by
Ddoc on (no date time)