ThisDeclaration

For the "this" parameter to member functions

Constructors

this
this(Loc loc, Type t)
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.
isThisDeclaration
inout(ThisDeclaration) isThisDeclaration()
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.

Inherited Members

From VarDeclaration

_init
Initializer _init;
Undocumented in source.
offset
uint offset;
Undocumented in source.
sequenceNumber
uint sequenceNumber;
Undocumented in source.
nextSequenceNumber
uint nextSequenceNumber;
Undocumented in source.
nestedrefs
FuncDeclarations nestedrefs;
Undocumented in source.
alignment
structalign_t alignment;
Undocumented in source.
isargptr
bool isargptr;
Undocumented in source.
ctorinit
bool ctorinit;
Undocumented in source.
iscatchvar
bool iscatchvar;
Undocumented in source.
isowner
bool isowner;
Undocumented in source.
onstack
bool onstack;
Undocumented in source.
mynew
bool mynew;
Undocumented in source.
canassign
int canassign;
Undocumented in source.
overlapped
bool overlapped;
Undocumented in source.
overlapUnsafe
bool overlapUnsafe;
Undocumented in source.
doNotInferScope
bool doNotInferScope;
Undocumented in source.
doNotInferReturn
bool doNotInferReturn;
Undocumented in source.
isdataseg
ubyte isdataseg;
Undocumented in source.
aliassym
Dsymbol aliassym;
Undocumented in source.
lastVar
VarDeclaration lastVar;
Undocumented in source.
endlinnum
uint endlinnum;
Undocumented in source.
AdrOnStackNone
enum AdrOnStackNone;
Undocumented in source.
ctfeAdrOnStack
uint ctfeAdrOnStack;
Undocumented in source.
edtor
Expression edtor;
Undocumented in source.
range
IntRange* range;
Undocumented in source.
maybes
VarDeclarations* maybes;
Undocumented in source.
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.
syntaxCopy
Dsymbol syntaxCopy(Dsymbol s)
Undocumented in source. Be warned that the author may not have intended to support it.
setFieldOffset
void setFieldOffset(AggregateDeclaration ad, uint* poffset, bool isunion)
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.
isThis
inout(AggregateDeclaration) isThis()
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.
isAnonymous
bool isAnonymous()
Undocumented in source. Be warned that the author may not have intended to support it.
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.
isDataseg
bool isDataseg()

Does symbol go into data segment? Includes extern variables.

isThreadlocal
bool isThreadlocal()

Does symbol go into thread local storage?

isCTFE
bool isCTFE()

Can variable be read and written by CTFE?

isOverlappedWith
bool isOverlappedWith(VarDeclaration v)
Undocumented in source. Be warned that the author may not have intended to support it.
hasPointers
bool hasPointers()
Undocumented in source. Be warned that the author may not have intended to support it.
canTakeAddressOf
bool canTakeAddressOf()

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

needsScopeDtor
bool needsScopeDtor()

Return true if variable needs to call the destructor.

callScopeDtor
Expression callScopeDtor(Scope* sc)

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

getConstInitializer
Expression getConstInitializer(bool needFullType)

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

expandInitializer
Expression expandInitializer(Loc loc)

Helper function for the expansion of manifest constant.

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[].

toAlias
Dsymbol toAlias()
Undocumented in source. Be warned that the author may not have intended to support it.
isVarDeclaration
inout(VarDeclaration) isVarDeclaration()
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.
enclosesLifetimeOf
bool enclosesLifetimeOf(VarDeclaration v)

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

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.

Meta