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
SIZEFields inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
DATA_TYPE_CATEGORY -
Constructor Summary
ConstructorsConstructorDescriptionTargetClassDescriptor(BinaryReader reader) Creates a newTargetClassDescriptor -
Method Summary
Modifier and TypeMethodDescriptionGets a short description of theSwiftTypeMetadataStructureintIf this descriptor does not have a resilient superclass, this is the negative size of metadata objects of this class (in words).intIf this descriptor does not have a resilient superclass, this is the positive size of metadata objects of this class (in words).intGets the number of stored properties in the class, not including its superclasses.intGets the number of additional members added by this class to the class metadataGets the name of theSwiftTypeMetadataStructureintGets 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, toStringMethods inherited from class ghidra.app.util.bin.format.swift.types.TargetContextDescriptor
getFlags, getParentMethods inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
getBase
-
Constructor Details
-
TargetClassDescriptor
Creates a newTargetClassDescriptor- Parameters:
reader- ABinaryReaderpositioned 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:SwiftTypeMetadataStructureGets the name of theSwiftTypeMetadataStructure- Overrides:
getStructureNamein classTargetTypeContextDescriptor- Returns:
- The name of the
SwiftTypeMetadataStructure
-
getDescription
Description copied from class:SwiftTypeMetadataStructureGets a short description of theSwiftTypeMetadataStructure- Overrides:
getDescriptionin classTargetTypeContextDescriptor- Returns:
- A short description of the
SwiftTypeMetadataStructure
-
toDataType
Description copied from interface:StructConverterReturns 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:
toDataTypein interfaceStructConverter- Overrides:
toDataTypein classTargetTypeContextDescriptor- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException- when a datatype of the same name already existsIOException- if an IO-related error occurs- See Also:
-