Class TargetClassDescriptor
java.lang.Object
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:
SwiftStructure,StructConverter
Represents a Swift TargetClassDescriptor structure
- See Also:
-
Field Summary
Fields inherited from interface ghidra.app.util.bin.StructConverter
ASCII, BYTE, DWORD, IBO32, IBO64, POINTER, QWORD, SLEB128, STRING, ULEB128, UTF16, UTF8, VOID, WORDFields inherited from interface ghidra.app.util.bin.format.swift.SwiftStructure
DATA_TYPE_CATEGORY -
Constructor Summary
ConstructorsConstructorDescriptionTargetClassDescriptor(BinaryReader reader) Creates a newTargetClassDescriptor -
Method Summary
Modifier and TypeMethodDescriptionGets a short description of theSwiftStructureintIf 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 theSwiftStructureintGets 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, getFields, getName, toStringMethods inherited from class ghidra.app.util.bin.format.swift.types.TargetContextDescriptor
getFlags, getParent
-
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 interface:SwiftStructureGets the name of theSwiftStructure- Specified by:
getStructureNamein interfaceSwiftStructure- Overrides:
getStructureNamein classTargetTypeContextDescriptor- Returns:
- The name of the
SwiftStructure
-
getDescription
Description copied from interface:SwiftStructureGets a short description of theSwiftStructure- Specified by:
getDescriptionin interfaceSwiftStructure- Overrides:
getDescriptionin classTargetTypeContextDescriptor- Returns:
- A short description of the
SwiftStructure
-
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- See Also:
-