- accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
- finalizeSize
void finalizeSize()
Undocumented in source. Be warned that the author may not have intended to support it.
- fit
bool fit(Loc loc, Scope* sc, Expressions* elements, Type stype)
Fit elements[] to the corresponding type of field[].
Input:
loc
sc
elements The explicit arguments that given to construct object.
stype The constructed object type.
Returns false if any errors occur.
Otherwise, returns true and elements[] are rewritten for the output.
- isPOD
bool isPOD()
Return true if struct is POD (Plain Old Data).
This is defined as:
not nested
no postblits, destructors, or assignment operators
no 'ref' fields or fields that are themselves non-POD
The idea being these are compatible with C structs.
- isStructDeclaration
inout(StructDeclaration) isStructDeclaration()
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.
- search
Dsymbol search(Loc loc, Identifier ident, int flags)
Undocumented in source. Be warned that the author may not have intended to support it.
- semantic
void semantic(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- semanticTypeInfoMembers
void semanticTypeInfoMembers()
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.
- 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.