Package ghidra.app.cmd.data.rtti.gcc
Class VtableModel
java.lang.Object
ghidra.app.cmd.data.rtti.gcc.VtableModel
public final class VtableModel extends Object implements GnuVtable
Model for GNU Vtables
-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.app.cmd.data.rtti.GnuVtable
GnuVtable.VtablePrefix
Nested classes/interfaces inherited from interface ghidra.app.cmd.data.rtti.Vtable
Vtable.InvalidVtable
-
Field Summary
Fields Modifier and Type Field Description static String
CONSTRUCTION_SYMBOL_NAME
static String
DESCRIPTION
static String
MANGLED_PREFIX
static String
SYMBOL_NAME
Fields inherited from interface ghidra.app.cmd.data.rtti.GnuVtable
PURE_VIRTUAL_FUNCTION_NAME
-
Method Summary
Modifier and Type Method Description boolean
containsFunction(Function function)
Checks if this vtable contains the specified functionboolean
equals(Object object)
Address
getAddress()
Gets the corrected start address of the vtable.List<DataType>
getDataTypes()
Gets the DataTypes that compose this Vtableint
getElementCount()
Gets the number of vtable_prefix's in this vtableFunction[][]
getFunctionTables()
Gets the function tables in this vtableint
getLength()
long
getOffset(int index, int ordinal)
Gets the ptrdiff_t value within the base offset array.List<GnuVtable.VtablePrefix>
getPrefixes()
Gets the vtable prefixes that compose this vtableAddress[]
getTableAddresses()
Gets the addresses of this vtable's function tablesClassTypeInfo
getTypeInfo()
Returns the TypeInfo Model this vtable points tostatic GnuVtable
getVtable(Program program, Address address)
static GnuVtable
getVtable(Program program, Address address, ClassTypeInfo type)
int
hashCode()
boolean
isConstruction()
-
Field Details
-
SYMBOL_NAME
- See Also:
- Constant Field Values
-
CONSTRUCTION_SYMBOL_NAME
- See Also:
- Constant Field Values
-
DESCRIPTION
- See Also:
- Constant Field Values
-
MANGLED_PREFIX
- See Also:
- Constant Field Values
-
-
Method Details
-
getVtable
-
getVtable
-
getTypeInfo
Description copied from interface:Vtable
Returns the TypeInfo Model this vtable points to- Specified by:
getTypeInfo
in interfaceVtable
- Returns:
- the pointed to TypeInfo Model
-
hashCode
public int hashCode() -
equals
-
getAddress
Gets the corrected start address of the vtable.- Specified by:
getAddress
in interfaceVtable
- Returns:
- the correct start address or NO_ADDRESS if invalid.
-
getTableAddresses
Description copied from interface:Vtable
Gets the addresses of this vtable's function tables- Specified by:
getTableAddresses
in interfaceVtable
- Returns:
- the addresses of this vtable's function tables
-
getFunctionTables
Description copied from interface:Vtable
Gets the function tables in this vtable- Specified by:
getFunctionTables
in interfaceVtable
- Returns:
- this vtable's function tables
-
containsFunction
Description copied from interface:Vtable
Checks if this vtable contains the specified function- Specified by:
containsFunction
in interfaceVtable
- Parameters:
function
- the function to check for- Returns:
- true if this vtable contains the specified function
-
getLength
public int getLength()- Specified by:
getLength
in interfaceGnuVtable
- Returns:
- the vtable length
- See Also:
DataType.getLength()
-
getOffset
public long getOffset(int index, int ordinal)Description copied from interface:GnuVtable
Gets the ptrdiff_t value within the base offset array. -
getElementCount
public int getElementCount()Gets the number of vtable_prefix's in this vtable- Returns:
- the number of vtable_prefix's in this vtable
-
getDataTypes
Description copied from interface:GnuVtable
Gets the DataTypes that compose this Vtable- Specified by:
getDataTypes
in interfaceGnuVtable
- Returns:
- the list of DataTypes this Vtable is made of
-
getPrefixes
Description copied from interface:GnuVtable
Gets the vtable prefixes that compose this vtable- Specified by:
getPrefixes
in interfaceGnuVtable
- Returns:
- the list of vtable prefixes
-
isConstruction
public boolean isConstruction()
-