Package cppclassanalyzer.data.typeinfo
Class VsClassTypeInfoDB
java.lang.Object
ghidra.program.database.DatabaseObject
cppclassanalyzer.data.typeinfo.ClassTypeInfoDB
cppclassanalyzer.data.typeinfo.AbstractClassTypeInfoDB
cppclassanalyzer.data.typeinfo.VsClassTypeInfoDB
- All Implemented Interfaces:
VsClassTypeInfo,ClassTypeInfo,TypeInfo
public class VsClassTypeInfoDB extends AbstractClassTypeInfoDB implements VsClassTypeInfo
-
Nested Class Summary
Nested classes/interfaces inherited from class cppclassanalyzer.data.typeinfo.AbstractClassTypeInfoDB
AbstractClassTypeInfoDB.TypeId -
Field Summary
Fields inherited from class cppclassanalyzer.data.typeinfo.AbstractClassTypeInfoDB
CLASS_TYPEINFO_TABLE_NAME, managerFields inherited from class cppclassanalyzer.data.typeinfo.ClassTypeInfoDB
INVALID_KEYFields inherited from class ghidra.program.database.DatabaseObject
keyFields inherited from interface ghidra.app.cmd.data.rtti.TypeInfo
SYMBOL_NAME, TYPENAME_SYMBOL_NAMEFields inherited from interface cppclassanalyzer.vs.VsClassTypeInfo
BASE_ARRAY_SYMBOL_NAME, DEFAULT_OPTIONS, HIERARCHY_SYMBOL_NAME, LOCATOR_SYMBOL_NAME -
Constructor Summary
Constructors Constructor Description VsClassTypeInfoDB(ProgramRttiRecordManager worker, ClassTypeInfoRecord record)VsClassTypeInfoDB(ProgramRttiRecordManager worker, VsClassTypeInfo type, ClassTypeInfoRecord record) -
Method Summary
Modifier and Type Method Description protected voidfillModelData(ClassTypeInfoRecord record)protected voidfillModelData(ClassTypeInfo type, ClassTypeInfoRecord record)VtablefindVtable(TaskMonitor monitor)Locates the TypeInfo's Vtable Modelghidra.app.cmd.data.rtti.Rtti2ModelgetBaseClassArray()static intgetBaseCount(ClassTypeInfoRecord record)protected long[]getBaseKeys()static long[]getBaseKeys(ClassTypeInfoRecord record)ghidra.app.cmd.data.rtti.Rtti1ModelgetBaseModel()protected VsCppClassBuildergetClassBuilder()ghidra.app.cmd.data.rtti.Rtti3ModelgetHierarchyDescriptor()NamespacegetNamespace()Gets the namespace for this TypeInfoprotected int[]getOffsets()ClassTypeInfoDB[]getParentModels()Retrieves the Models of this ClassTypeInfo classes base classesprotected StringgetPureVirtualFunctionName()TypeDescriptorModelgetTypeDescriptor()Set<ClassTypeInfo>getVirtualParents()Retrieves an ordered set of all virtually inherited base classesbooleanhasParent()Checks if this ClassTypeInfo is a subclass of another typeprotected booleanrefresh(ClassTypeInfoRecord record)static voidupdateRecord(ClassTypeInfoRecord record, LongIntHashtable keyMap)Methods inherited from class cppclassanalyzer.data.typeinfo.AbstractClassTypeInfoDB
decodeAddress, encodeAddress, equals, getAddress, getBaseOffsets, getClassData, getClassDataType, getClassDataTypeId, getDataType, getGhidraClass, getIdentifier, getIdentifier, getManager, getName, getProgram, getRawType, getRecord, getTypeId, getTypeName, getVtable, getVtableSearched, hashCode, isAbstract, isModifiable, isVtableSearched, refresh, refresh, refreshDataType, setClassDataType, setVtable, setVtableSearched, toString, updateKeysMethods inherited from class cppclassanalyzer.data.typeinfo.ClassTypeInfoDB
checkIsValid, getSuperClassDataTypeMethods inherited from class ghidra.program.database.DatabaseObject
checkDeleted, checkIsValid, getKey, isDeleted, isInvalid, keyChanged, setInvalid, validateMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.app.cmd.data.rtti.ClassTypeInfo
findVtable, getClassDataType, getFullName, getGhidraClass, getRepresentedDataType, getSymbolPath, getUniqueTypeName, getVtable, isExternalMethods inherited from interface ghidra.app.cmd.data.rtti.TypeInfo
getAddress, getDataType, getIdentifier, getName, getTypeNameMethods inherited from interface cppclassanalyzer.vs.VsClassTypeInfo
getBaseOffsets, isAbstract
-
Constructor Details
-
VsClassTypeInfoDB
-
VsClassTypeInfoDB
public VsClassTypeInfoDB(ProgramRttiRecordManager worker, VsClassTypeInfo type, ClassTypeInfoRecord record)
-
-
Method Details
-
hasParent
public boolean hasParent()Description copied from interface:ClassTypeInfoChecks if this ClassTypeInfo is a subclass of another type- Specified by:
hasParentin interfaceClassTypeInfo- Returns:
- true if this is a subclass
-
getParentModels
Description copied from interface:ClassTypeInfoRetrieves the Models of this ClassTypeInfo classes base classes- Specified by:
getParentModelsin interfaceClassTypeInfo- Specified by:
getParentModelsin classClassTypeInfoDB- Returns:
- the parent models
-
getVirtualParents
Description copied from interface:ClassTypeInfoRetrieves an ordered set of all virtually inherited base classes- Specified by:
getVirtualParentsin interfaceClassTypeInfo- Returns:
- the set of virtual bases
-
findVtable
Description copied from interface:ClassTypeInfoLocates the TypeInfo's Vtable Model- Specified by:
findVtablein interfaceClassTypeInfo- Parameters:
monitor- the task monitor to be used while searching for the vtable- Returns:
- The TypeInfo's Vtable Model or
Vtable.NO_VTABLEif none exists - Throws:
CancelledException- if the search is cancelled
-
getBaseKeys
-
getBaseModel
public ghidra.app.cmd.data.rtti.Rtti1Model getBaseModel()- Specified by:
getBaseModelin interfaceVsClassTypeInfo
-
getBaseClassArray
public ghidra.app.cmd.data.rtti.Rtti2Model getBaseClassArray()- Specified by:
getBaseClassArrayin interfaceVsClassTypeInfo
-
getHierarchyDescriptor
public ghidra.app.cmd.data.rtti.Rtti3Model getHierarchyDescriptor()- Specified by:
getHierarchyDescriptorin interfaceVsClassTypeInfo
-
getBaseCount
-
updateRecord
-
getBaseKeys
protected long[] getBaseKeys()- Specified by:
getBaseKeysin classAbstractClassTypeInfoDB
-
getOffsets
protected int[] getOffsets()- Specified by:
getOffsetsin classAbstractClassTypeInfoDB
-
refresh
- Overrides:
refreshin classAbstractClassTypeInfoDB
-
getNamespace
Description copied from interface:TypeInfoGets the namespace for this TypeInfo- Specified by:
getNamespacein interfaceTypeInfo- Returns:
- the TypeInfo's namespace
-
getPureVirtualFunctionName
- Specified by:
getPureVirtualFunctionNamein classAbstractClassTypeInfoDB
-
getClassBuilder
- Specified by:
getClassBuilderin classAbstractClassTypeInfoDB
-
fillModelData
- Specified by:
fillModelDatain classAbstractClassTypeInfoDB
-
getTypeDescriptor
- Specified by:
getTypeDescriptorin interfaceVsClassTypeInfo
-
fillModelData
- Specified by:
fillModelDatain classAbstractClassTypeInfoDB
-