VarDeclaration

Constructors

this
this(Loc loc, Type type, Identifier ident, Initializer _init, StorageClass storage_class)
Undocumented in source.

Members

Functions

accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
addMaybe
void addMaybe(VarDeclaration v)

Add variable to maybes[]. When a maybescope variable v is 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.

callScopeDtor
Expression callScopeDtor(Scope* sc)

If a variable has a scope destructor call, return call for it. Otherwise, return NULL.

canTakeAddressOf
bool canTakeAddressOf()

Return true if we can take the address of this variable.

checkCtorConstInit
void checkCtorConstInit()
Undocumented in source. Be warned that the author may not have intended to support it.
checkNestedReference
bool checkNestedReference(Scope* sc, Loc loc)

Check to see if this variable is actually in an enclosing function rather than the current one. Update nestedrefs[], closureVars[] and outerVars[].

enclosesLifetimeOf
bool enclosesLifetimeOf(VarDeclaration v)

Determine if this has a lifetime that lasts past the destruction of v

expandInitializer
Expression expandInitializer(Loc loc)

Helper function for the expansion of manifest constant.

getConstInitializer
Expression getConstInitializer(bool needFullType)

If variable has a constant expression initializer, get it. Otherwise, return null.

hasPointers
bool hasPointers()
Undocumented in source. Be warned that the author may not have intended to support it.
isAnonymous
bool isAnonymous()
Undocumented in source. Be warned that the author may not have intended to support it.
isCTFE
bool isCTFE()

Can variable be read and written by CTFE?

isDataseg
bool isDataseg()

Does symbol go into data segment? Includes extern variables.

isExport
bool isExport()
Undocumented in source. Be warned that the author may not have intended to support it.
isImportedSymbol
bool isImportedSymbol()
Undocumented in source. Be warned that the author may not have intended to support it.
isOverlappedWith
bool isOverlappedWith(VarDeclaration v)
Undocumented in source. Be warned that the author may not have intended to support it.
isThis
inout(AggregateDeclaration) isThis()
Undocumented in source. Be warned that the author may not have intended to support it.
isThreadlocal
bool isThreadlocal()

Does symbol go into thread local storage?

isVarDeclaration
inout(VarDeclaration) isVarDeclaration()
Undocumented in source. Be warned that the author may not have intended to support it.
kind
const(char)* kind()
Undocumented in source. Be warned that the author may not have intended to support it.
needThis
bool needThis()
Undocumented in source. Be warned that the author may not have intended to support it.
needsScopeDtor
bool needsScopeDtor()

Return true if variable needs to call the destructor.

setFieldOffset
void setFieldOffset(AggregateDeclaration ad, uint* poffset, bool isunion)
Undocumented in source. Be warned that the author may not have intended to support it.
syntaxCopy
Dsymbol syntaxCopy(Dsymbol s)
Undocumented in source. Be warned that the author may not have intended to support it.
toAlias
Dsymbol toAlias()
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

AdrOnStackNone
enum AdrOnStackNone;
Undocumented in source.

Static functions

create
VarDeclaration create(Loc loc, Type type, Identifier ident, Initializer _init, StorageClass storage_class)
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

nextSequenceNumber
uint nextSequenceNumber;
Undocumented in source.

Variables

_init
Initializer _init;
Undocumented in source.
aliassym
Dsymbol aliassym;
Undocumented in source.
alignment
structalign_t alignment;
Undocumented in source.
canassign
int canassign;
Undocumented in source.
ctfeAdrOnStack
uint ctfeAdrOnStack;
Undocumented in source.
ctorinit
bool ctorinit;
Undocumented in source.
doNotInferReturn
bool doNotInferReturn;
Undocumented in source.
doNotInferScope
bool doNotInferScope;
Undocumented in source.
edtor
Expression edtor;
Undocumented in source.
endlinnum
uint endlinnum;
Undocumented in source.
isargptr
bool isargptr;
Undocumented in source.
iscatchvar
bool iscatchvar;
Undocumented in source.
isdataseg
ubyte isdataseg;
Undocumented in source.
isowner
bool isowner;
Undocumented in source.
lastVar
VarDeclaration lastVar;
Undocumented in source.
maybes
VarDeclarations* maybes;
Undocumented in source.
mynew
bool mynew;
Undocumented in source.
nestedrefs
FuncDeclarations nestedrefs;
Undocumented in source.
offset
uint offset;
Undocumented in source.
onstack
bool onstack;
Undocumented in source.
overlapUnsafe
bool overlapUnsafe;
Undocumented in source.
overlapped
bool overlapped;
Undocumented in source.
range
IntRange* range;
Undocumented in source.
sequenceNumber
uint sequenceNumber;
Undocumented in source.

Inherited Members

From Declaration

type
Type type;
Undocumented in source.
originalType
Type originalType;
Undocumented in source.
storage_class
StorageClass storage_class;
Undocumented in source.
protection
Prot protection;
Undocumented in source.
linkage
LINK linkage;
Undocumented in source.
inuse
int inuse;
Undocumented in source.
mangleOverride
const(char)[] mangleOverride;
Undocumented in source.
kind
const(char)* kind()
Undocumented in source. Be warned that the author may not have intended to support it.
size
d_uns64 size(Loc loc)
Undocumented in source. Be warned that the author may not have intended to support it.
checkDisabled
bool checkDisabled(Loc loc, Scope* sc, bool isAliasedDeclaration)

Issue an error if an attempt to call a disabled method is made

checkModify
Modifiable checkModify(Loc loc, Scope* sc, Expression e1, int flag)

Check to see if declaration can be modified in this context (sc). Issue error if not.

search
Dsymbol search(Loc loc, Identifier ident, int flags)
Undocumented in source. Be warned that the author may not have intended to support it.
isStatic
bool isStatic()
Undocumented in source. Be warned that the author may not have intended to support it.
isDelete
bool isDelete()
Undocumented in source. Be warned that the author may not have intended to support it.
isDataseg
bool isDataseg()
Undocumented in source. Be warned that the author may not have intended to support it.
isThreadlocal
bool isThreadlocal()
Undocumented in source. Be warned that the author may not have intended to support it.
isCodeseg
bool isCodeseg()
Undocumented in source. Be warned that the author may not have intended to support it.
isCtorinit
bool isCtorinit()
Undocumented in source. Be warned that the author may not have intended to support it.
isFinal
bool isFinal()
Undocumented in source. Be warned that the author may not have intended to support it.
isAbstract
bool isAbstract()
Undocumented in source. Be warned that the author may not have intended to support it.
isConst
bool isConst()
Undocumented in source. Be warned that the author may not have intended to support it.
isImmutable
bool isImmutable()
Undocumented in source. Be warned that the author may not have intended to support it.
isWild
bool isWild()
Undocumented in source. Be warned that the author may not have intended to support it.
isAuto
bool isAuto()
Undocumented in source. Be warned that the author may not have intended to support it.
isScope
bool isScope()
Undocumented in source. Be warned that the author may not have intended to support it.
isSynchronized
bool isSynchronized()
Undocumented in source. Be warned that the author may not have intended to support it.
isParameter
bool isParameter()
Undocumented in source. Be warned that the author may not have intended to support it.
isDeprecated
bool isDeprecated()
Undocumented in source. Be warned that the author may not have intended to support it.
isDisabled
bool isDisabled()
Undocumented in source. Be warned that the author may not have intended to support it.
isOverride
bool isOverride()
Undocumented in source. Be warned that the author may not have intended to support it.
isResult
bool isResult()
Undocumented in source. Be warned that the author may not have intended to support it.
isField
bool isField()
Undocumented in source. Be warned that the author may not have intended to support it.
isIn
bool isIn()
Undocumented in source. Be warned that the author may not have intended to support it.
isOut
bool isOut()
Undocumented in source. Be warned that the author may not have intended to support it.
isRef
bool isRef()
Undocumented in source. Be warned that the author may not have intended to support it.
isFuture
bool isFuture()
Undocumented in source. Be warned that the author may not have intended to support it.
prot
Prot prot()
Undocumented in source. Be warned that the author may not have intended to support it.
isDeclaration
inout(Declaration) isDeclaration()
Undocumented in source. Be warned that the author may not have intended to support it.
accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta