- accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
- isBaseOf
bool isBaseOf(ClassDeclaration cd, int* poffset)
Determine if 'this' is a base class of cd.
(Actually, if it is an interface supported by cd)
Output:
*poffset offset to start of class
OFFSET_RUNTIME must determine offset at runtime
- isBaseOf
bool isBaseOf(BaseClass* bc, int* poffset)
Undocumented in source. Be warned that the author may not have intended to support it.
- isCOMinterface
bool isCOMinterface()
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.
- isInterfaceDeclaration
inout(InterfaceDeclaration) isInterfaceDeclaration()
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.
- 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.
- object
ClassDeclaration object;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- throwable
ClassDeclaration throwable;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- exception
ClassDeclaration exception;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- errorException
ClassDeclaration errorException;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- cpp_type_info_ptr
ClassDeclaration cpp_type_info_ptr;
Undocumented in source but is binding to C++. You might be able to learn more by searching the web for its name.
- baseClass
ClassDeclaration baseClass;
Undocumented in source.
- staticCtor
FuncDeclaration staticCtor;
Undocumented in source.
- staticDtor
FuncDeclaration staticDtor;
Undocumented in source.
- vtbl
Dsymbols vtbl;
Undocumented in source.
- vtblFinal
Dsymbols vtblFinal;
Undocumented in source.
- baseclasses
BaseClasses* baseclasses;
Undocumented in source.
- interfaces
BaseClass*[] interfaces;
Undocumented in source.
- vtblInterfaces
BaseClasses* vtblInterfaces;
Undocumented in source.
- vclassinfo
TypeInfoClassDeclaration vclassinfo;
Undocumented in source.
- com
bool com;
Undocumented in source.
- stack
bool stack;
true if this is a scope class
- cppDtorVtblIndex
int cppDtorVtblIndex;
if this is a C++ class, this is the slot reserved for the virtual destructor
- isabstract
Abstract isabstract;
Undocumented in source.
- baseok
Baseok baseok;
set the progress of base classes resolving
- objc
ObjcClassDeclaration objc;
Data for a class declaration that is needed for the Objective-C
integration.
- cpp_type_info_ptr_sym
Symbol* cpp_type_info_ptr_sym;
Undocumented in source.
- create
ClassDeclaration create(Loc loc, Identifier id, BaseClasses* baseclasses, Dsymbols* members, bool inObject)
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.
- newScope
Scope* newScope(Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
- isBaseOf2
bool isBaseOf2(ClassDeclaration cd)
Determine if 'this' is a base class of cd.
This is used to detect circular inheritance only.
- OFFSET_RUNTIME
enum OFFSET_RUNTIME;
Undocumented in source.
- OFFSET_FWDREF
enum OFFSET_FWDREF;
Undocumented in source.
- isBaseOf
bool isBaseOf(ClassDeclaration cd, int* poffset)
Determine if 'this' is a base class of cd.
- isBaseInfoComplete
bool isBaseInfoComplete()
Determine if 'this' has complete base class information.
This is used to detect forward references in covariant overloads.
- 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.
- finalizeSize
void finalizeSize()
Undocumented in source. Be warned that the author may not have intended to support it.
- hasMonitor
bool hasMonitor()
- isAnonymous
bool isAnonymous()
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.
- findFunc
FuncDeclaration findFunc(Identifier ident, TypeFunction tf)
Find virtual function matching identifier and type.
Used to build virtual function tables for interface implementations.
- 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.
- isAbstract
bool isAbstract()
- 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.
- kind
const(char)* kind()
- addLocalClass
void addLocalClass(ClassDeclarations* aclasses)
- addObjcSymbols
void addObjcSymbols(ClassDeclarations* classes, ClassDeclarations* categories)
Undocumented in source. Be warned that the author may not have intended to support it.
- vtblsym
Dsymbol vtblsym;
Undocumented in source.
- vtblSymbol
Dsymbol vtblSymbol()
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.
- accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.