Class TargetStructDescriptor
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.TargetStructDescriptor
- All Implemented Interfaces:
StructConverter
Represents a Swift
TargetStructDescriptor structure- See Also:
-
Field Summary
Fields inherited from class TargetContextDescriptor
flags, SIZEFields inherited from class SwiftTypeMetadataStructure
CATEGORY, CATEGORY_PATH -
Constructor Summary
ConstructorsConstructorDescriptionTargetStructDescriptor(BinaryReader reader) Creates a newTargetStructDescriptor -
Method Summary
Modifier and TypeMethodDescriptionReturns a short description of theSwiftTypeMetadataStructure.intReturns the offset of the field offset vector for this struct's stored properties in its metadata, if any. 0 means there is no field offset vector.Returns theTargetTypeGenericContextDescriptorHeader, ornullif it doesn't exist.Returns theInvertibleProtocolSet, ornullif it doens't exist.intReturns the number of stored properties in the struct (if there is a field offset vector, this is its length.Returns the name of theSwiftTypeMetadataStructure.Returns theTargetForeignMetadataInitialization, ornullif it doesn't exist.Returns theTargetSingletonMetadataInitialization, ornullif it doesn't exist.Returns a structure datatype representing the contents of the implementor of this interface.Methods inherited from class TargetTypeContextDescriptor
getAccessFunctionPtr, getFieldDescriptor, getFields, getName, toStringMethods inherited from class TargetContextDescriptor
getFlags, getParentMethods inherited from class SwiftTypeMetadataStructure
getBase
-
Constructor Details
-
TargetStructDescriptor
Creates a newTargetStructDescriptor- Parameters:
reader- ABinaryReaderpositioned at the start of the structure- Throws:
IOException- if there was an IO-related problem creating the structure
-
-
Method Details
-
getNumFields
public int getNumFields()Returns the number of stored properties in the struct (if there is a field offset vector, this is its length.- Returns:
- the number of stored properties in the struct (if there is a field offset vector, this is its length
-
getFieldOffsetVectorOffset
public int getFieldOffsetVectorOffset()Returns the offset of the field offset vector for this struct's stored properties in its metadata, if any. 0 means there is no field offset vector.- Returns:
- the offset of the field offset vector for this struct's stored properties in its metadata, if any. 0 means there is no field offset vector
-
getGenericHeader
Returns theTargetTypeGenericContextDescriptorHeader, ornullif it doesn't exist.- Returns:
- the
TargetTypeGenericContextDescriptorHeader, ornullif it doesn't exist
-
getTargetSingletonMetadataInitialization
Returns theTargetSingletonMetadataInitialization, ornullif it doesn't exist.- Returns:
- the
TargetSingletonMetadataInitialization, ornullif it doesn't exist
-
getTargetForeignMetadataInitialization
Returns theTargetForeignMetadataInitialization, ornullif it doesn't exist.- Returns:
- the
TargetForeignMetadataInitialization, ornullif it doesn't exist
-
getInvertibleProtocolSet
Returns theInvertibleProtocolSet, ornullif it doens't exist.- Returns:
- the
InvertibleProtocolSet, ornullif it doens't exist
-
getTrailingObjects
Description copied from class:SwiftTypeMetadataStructure- Overrides:
getTrailingObjectsin classSwiftTypeMetadataStructure- Returns:
- a
Listofstructuresthat trail thisstructure
-
getStructureName
Description copied from class:SwiftTypeMetadataStructureReturns the name of theSwiftTypeMetadataStructure.- Overrides:
getStructureNamein classTargetTypeContextDescriptor- Returns:
- the name of the
SwiftTypeMetadataStructure
-
getDescription
Description copied from class:SwiftTypeMetadataStructureReturns 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:
-