Class TargetClassDescriptor
java.lang.Object
ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
ghidra.app.util.bin.format.swift.types.TargetContextDescriptor
ghidra.app.util.bin.format.swift.types.TargetTypeContextDescriptor
ghidra.app.util.bin.format.swift.types.TargetClassDescriptor
- All Implemented Interfaces:
StructConverter
Represents a Swift TargetClassDescriptor structure
- See Also:
-
Field Summary
Fields inherited from class ghidra.app.util.bin.format.swift.types.TargetContextDescriptor
SIZE
Fields inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
DATA_TYPE_CATEGORY
-
Constructor Summary
ConstructorDescriptionTargetClassDescriptor
(BinaryReader reader) Creates a newTargetClassDescriptor
-
Method Summary
Modifier and TypeMethodDescriptionGets a short description of theSwiftTypeMetadataStructure
int
If this descriptor does not have a resilient superclass, this is the negative size of metadata objects of this class (in words).int
If this descriptor does not have a resilient superclass, this is the positive size of metadata objects of this class (in words).int
Gets the number of stored properties in the class, not including its superclasses.int
Gets the number of additional members added by this class to the class metadataGets the name of theSwiftTypeMetadataStructure
int
Gets the type of the superclass, expressed as a mangled type name that can refer to the generic arguments of the subclass typeReturns a structure datatype representing the contents of the implementor of this interface.Methods inherited from class ghidra.app.util.bin.format.swift.types.TargetTypeContextDescriptor
getAccessFunctionPtr, getFieldDescriptor, getFields, getName, toString
Methods inherited from class ghidra.app.util.bin.format.swift.types.TargetContextDescriptor
getFlags, getParent
Methods inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
getBase
-
Constructor Details
-
TargetClassDescriptor
Creates a newTargetClassDescriptor
- Parameters:
reader
- ABinaryReader
positioned at the start of the structure- Throws:
IOException
- if there was an IO-related problem creating the structure
-
-
Method Details
-
getSuperclassType
public int getSuperclassType()Gets the type of the superclass, expressed as a mangled type name that can refer to the generic arguments of the subclass type- Returns:
- The type of the superclass, expressed as a mangled type name that can refer to the generic arguments of the subclass type
-
getMetadataNegativeSizeInWords
public int getMetadataNegativeSizeInWords()If this descriptor does not have a resilient superclass, this is the negative size of metadata objects of this class (in words). If this descriptor has a resilient superclass, this is a reference to a cache holding the metadata's extents.- Returns:
- The negative size of metadata objects of this class (in words) or a reference to a cache holding the metadata's extents
-
getMetadataPositiveSizeInWords
public int getMetadataPositiveSizeInWords()If this descriptor does not have a resilient superclass, this is the positive size of metadata objects of this class (in words). Otherwise, these flags are used to do things like indicate the presence of an Objective-C resilient class stub.- Returns:
- The positive size of metadata objects of this class (in words) or flags used to do things like indicate the presence of an Objective-C resilient class stub.
-
getNumImmediateMembers
public int getNumImmediateMembers()Gets the number of additional members added by this class to the class metadata- Returns:
- The number of additional members added by this class to the class metadata
-
getNumFields
public int getNumFields()Gets the number of stored properties in the class, not including its superclasses. If there is a field offset vector, this is its length.- Returns:
- The number of stored properties in the class, not including its superclasses. If there is a field offset vector, this is its length.
-
getStructureName
Description copied from class:SwiftTypeMetadataStructure
Gets the name of theSwiftTypeMetadataStructure
- Overrides:
getStructureName
in classTargetTypeContextDescriptor
- Returns:
- The name of the
SwiftTypeMetadataStructure
-
getDescription
Description copied from class:SwiftTypeMetadataStructure
Gets a short description of theSwiftTypeMetadataStructure
- Overrides:
getDescription
in classTargetTypeContextDescriptor
- Returns:
- A short description of the
SwiftTypeMetadataStructure
-
toDataType
Description copied from interface:StructConverter
Returns a structure datatype representing the contents of the implementor of this interface.For example, given:
class A { int foo; double bar; }
The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.
- Specified by:
toDataType
in interfaceStructConverter
- Overrides:
toDataType
in classTargetTypeContextDescriptor
- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException
- when a datatype of the same name already existsIOException
- See Also:
-