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
Compiler implementation of the
D programming language.
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.
- 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, intflag); - 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 int flag!=0 means do not issue error message for invalid modification Returns:Modifiable.yes or Modifiable.initialization
- class
TupleDeclaration: dmd.declaration.Declaration; - class
AliasDeclaration: dmd.declaration.Declaration; - 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. Returns true if error occurs.
- final const pure bool
enclosesLifetimeOf(VarDeclarationv); - Determine if this has a lifetime that lasts past the destruction of
vParameters:VarDeclaration vvariable to test against Returns:true if it does - final void
addMaybe(VarDeclarationv); - Add variable to maybes[]. When a maybescope variable
vis assigned to a maybescope variable this, we cannot determine if this is actually scope until the semantic analysis for the function is completed. Thus, we save the data until then.Parameters:VarDeclaration van STC.maybescope variable that was assigned to this
- class
SymbolDeclaration: dmd.declaration.Declaration; - This is a shell around a back end symbol
- class
TypeInfoDeclaration: dmd.declaration.VarDeclaration; - 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-2019 by the D Language Foundation | Page generated by
Ddoc on Sun Sep 1 19:49:10 2019