#include <classinfo.h>
Inheritance diagram for VM::ClassInfo:
Public Member Functions | |
ClassInfo (const TLString &name, TypeID class_tid, NamespaceInfo *parent=NULL) | |
Construct class info (node); see NamespaceInfo constructor. | |
~ClassInfo () | |
See base class NamespaceInfo. | |
void | DumpTree (StringTreeDump &dump, bool IDs_resolved, bool recurse) const |
See base class. [overriding virtual]. | |
TLString | CompleteName () const |
See base class. [overriding virtual]. | |
TypeID | ClassTID () const |
Return ClassID. This is required by the ordering template. | |
Protected Attributes | |
Offset | size |
Size of the complete class in bytes. | |
uint32 | nvirtuals |
Number of (pure and non-pure) virtual methods in this class. | |
NonResizeableArray< BaseEntry, uint32 > | base |
Array of immediate base classes. | |
NonResizeableArray< VTableEntry, uint32 > | vtable |
Array of vtable entries. | |
NonResizeableArray< MemberVarEntry, uint32 > | membvar |
Array of (immediate) member vars. | |
uint16 | need_construct: 1 |
Used by the linker: Is the class needed for construction (ONEW)? | |
uint16 | need_cast: 1 |
Used by the linker: Is the class needed for casting or as base? | |
Private Member Functions | |
ClassInfo (const ClassInfo &) | |
Do not use. | |
void | operator= (const ClassInfo &) |
Do not use. | |
Friends | |
class | AssemblerFile |
class | AssemblerFile_Plaintext |
class | VMLinker |
Definition at line 83 of file classinfo.h.
|
Do not use.
|
|
Construct class info (node); see NamespaceInfo constructor.
Definition at line 112 of file classinfo.cc. References need_cast, need_construct, nvirtuals, size, and VM::TypeID. |
|
See base class NamespaceInfo.
Definition at line 127 of file classinfo.cc. |
|
Return ClassID. This is required by the ordering template.
Definition at line 179 of file classinfo.h. References VM::TypeID. Referenced by VM::AssemblerFile::ORD_TypeID::ord(). |
|
See base class. [overriding virtual].
Reimplemented from VM::ClassInfoIE. Definition at line 47 of file classinfo.cc. Referenced by VM::VMLinker::_LinkerNeedClassConstruct(), VM::VMLinker::_MergeNamespaceInfo_Recursive(), and VM::AssemblerFile::_ResolveIDsNamespaceLocal_Recursive(). |
|
|
Do not use.
|
|
Reimplemented from VM::NamespaceInfo. Definition at line 86 of file classinfo.h. |
|
Reimplemented from VM::NamespaceInfo. Definition at line 87 of file classinfo.h. |
|
Reimplemented from VM::NamespaceInfo. Definition at line 89 of file classinfo.h. |
|
Array of immediate base classes.
Definition at line 148 of file classinfo.h. Referenced by VM::VMLinker::_CheckBaseRecursion(), VM::VMLinker::_CheckNamespaceInfo_Recursive(), VM::VMLinker::_DoPropagateUseFlags(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class_Base(), VM::AssemblerFile::_ResolveIDsNamespaceLocal_Recursive(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), and DumpTree(). |
|
Array of (immediate) member vars.
Definition at line 152 of file classinfo.h. Referenced by VM::VMLinker::_MergeNamespaceInfo_Recursive(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class_Size(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), and DumpTree(). |
|
Used by the linker: Is the class needed for casting or as base?
Definition at line 157 of file classinfo.h. Referenced by VM::VMLinker::_DoPropagateUseFlags(), VM::VMLinker::_LinkFunction(), VM::AssemblerFile_Plaintext::_MustDumpNamespace(), VM::VMLinker::_PropagateUseFlags_Recursive(), and ClassInfo(). |
|
Used by the linker: Is the class needed for construction (ONEW)?
Definition at line 155 of file classinfo.h. Referenced by VM::VMLinker::_DoPropagateUseFlags(), VM::VMLinker::_LinkerNeedClassConstruct(), VM::VMLinker::_LinkFunction(), VM::AssemblerFile_Plaintext::_MustDumpNamespace(), VM::VMLinker::_PropagateUseFlags_Recursive(), and ClassInfo(). |
|
Number of (pure and non-pure) virtual methods in this class.
Definition at line 145 of file classinfo.h. Referenced by VM::VMLinker::_MergeNamespaceInfo_Recursive(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), ClassInfo(), and DumpTree(). |
|
Size of the complete class in bytes.
Definition at line 142 of file classinfo.h. Referenced by VM::VMLinker::_MergeNamespaceInfo_Recursive(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class_Size(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), ClassInfo(), and DumpTree(). |
|
Array of vtable entries.
Definition at line 150 of file classinfo.h. Referenced by VM::VMLinker::_CheckNamespaceInfo_Recursive(), VM::VMLinker::_LinkerNeedClassConstruct(), VM::AssemblerFile_Plaintext::_ParseSymbols_Class_VTable(), VM::AssemblerFile::_ResolveIDsNamespaceLocal_Recursive(), VM::AssemblerFile_Plaintext::_WriteSymbols_Recursive(), and DumpTree(). |