- accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
- addLocalClass
void addLocalClass(ClassDeclarations* aclasses)
- finalizeSize
void finalizeSize()
Undocumented in source. Be warned that the author may not have intended to support it.
- findFunc
FuncDeclaration findFunc(Identifier ident, TypeFunction tf)
Find virtual function matching identifier and type.
Used to build virtual function tables for interface implementations.
- interfaceSemantic
void interfaceSemantic(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- isAbstract
bool isAbstract()
- isBaseInfoComplete
bool isBaseInfoComplete()
Determine if 'this' has complete base class information.
This is used to detect forward references in covariant overloads.
- isBaseOf
bool isBaseOf(ClassDeclaration cd, int* poffset)
Determine if 'this' is a base class of cd.
- isBaseOf2
bool isBaseOf2(ClassDeclaration cd)
Determine if 'this' is a base class of cd.
This is used to detect circular inheritance only.
- isCOMclass
bool isCOMclass()
- isCOMinterface
bool isCOMinterface()
Undocumented in source. Be warned that the author may not have intended to support it.
- isCPPclass
bool isCPPclass()
Undocumented in source. Be warned that the author may not have intended to support it.
- isCPPinterface
bool isCPPinterface()
Undocumented in source. Be warned that the author may not have intended to support it.
- isClassDeclaration
inout(ClassDeclaration) isClassDeclaration()
Undocumented in source. Be warned that the author may not have intended to support it.
- isFuncHidden
bool isFuncHidden(FuncDeclaration fd)
Undocumented in source. Be warned that the author may not have intended to support it.
- kind
const(char)* kind()
- newScope
Scope* newScope(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- search
Dsymbol search(Loc loc, Identifier ident, int flags)
Undocumented in source. Be warned that the author may not have intended to support it.
- searchBase
ClassDeclaration searchBase(Identifier ident)
Search base classes in depth-first, left-to-right order for
a class or interface named 'ident'.
Stops at first found. Does not look for additional matches.
- semantic
void semantic(Scope* sc)
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.
- vtblOffset
int vtblOffset()
Determine if slot 0 of the vtbl[] is reserved for something else.
For class objects, yes, this is where the classinfo ptr goes.
For COM interfaces, no.
For non-COM interfaces, yes, this is where the Interface ptr goes.
- type
Type type;
Undocumented in source.
- storage_class
StorageClass storage_class;
Undocumented in source.
- protection
Prot protection;
Undocumented in source.
- structsize
uint structsize;
Undocumented in source.
- alignsize
uint alignsize;
Undocumented in source.
- fields
VarDeclarations fields;
Undocumented in source.
- sizeok
Sizeok sizeok;
Undocumented in source.
- deferred
Dsymbol deferred;
Undocumented in source.
- isdeprecated
bool isdeprecated;
Undocumented in source.
- enclosing
Dsymbol enclosing;
Undocumented in source.
- vthis
VarDeclaration vthis;
Undocumented in source.
- invs
FuncDeclarations invs;
Undocumented in source.
- inv
FuncDeclaration inv;
Undocumented in source.
- aggNew
NewDeclaration aggNew;
Undocumented in source.
- aggDelete
DeleteDeclaration aggDelete;
Undocumented in source.
- ctor
Dsymbol ctor;
Undocumented in source.
- defaultCtor
CtorDeclaration defaultCtor;
Undocumented in source.
- aliasthis
Dsymbol aliasthis;
Undocumented in source.
- noDefaultCtor
bool noDefaultCtor;
Undocumented in source.
- dtors
FuncDeclarations dtors;
Undocumented in source.
- dtor
FuncDeclaration dtor;
Undocumented in source.
- getRTInfo
Expression getRTInfo;
Undocumented in source.
- newScope
Scope* newScope(Scope* sc)
Create a new scope from sc.
semantic, semantic2 and semantic3 will use this for aggregate members.
- semantic2
void semantic2(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- semantic3
void semantic3(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- determineFields
bool determineFields()
Find all instance fields, then push them into fields.
- determineSize
bool determineSize(Loc loc)
Collect all instance fields, then determine instance size.
- finalizeSize
void finalizeSize()
Undocumented in source.
- size
d_uns64 size(Loc loc)
Undocumented in source. Be warned that the author may not have intended to support it.
- checkOverlappedFields
bool checkOverlappedFields()
Calculate fieldi.overlapped and overlapUnsafe, and check that all of explicit
field initializers have unique memory space on instance.
- fill
bool fill(Loc loc, Expressions* elements, bool ctorinit)
Fill out remainder of elements[] with default initializers for fields[].
- alignmember
void alignmember(structalign_t alignment, uint size, uint* poffset)
Do byte or word alignment as necessary.
Align sizes of 0, as we may not know array sizes yet.
- placeField
uint placeField(uint* nextoffset, uint memsize, uint memalignsize, structalign_t alignment, uint* paggsize, uint* paggalignsize, bool isunion)
Place a member (mem) into an aggregate (agg), which can be a struct, union or class
- getType
Type getType()
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.
- isNested
bool isNested()
Returns true if there's an extra member which is the 'this'
pointer to the enclosing context (enclosing aggregate or function)
- makeNested
void makeNested()
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.
- searchCtor
Dsymbol searchCtor()
Look for constructor declaration.
- prot
Prot prot()
Undocumented in source. Be warned that the author may not have intended to support it.
- handleType
Type handleType()
Undocumented in source. Be warned that the author may not have intended to support it.
- stag
Symbol* stag;
Undocumented in source.
- sinit
Symbol* sinit;
Undocumented in source.
- isAggregateDeclaration
inout(AggregateDeclaration) isAggregateDeclaration()
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.