Class TargetEnumDescriptor
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.TargetEnumDescriptor
- All Implemented Interfaces:
StructConverter
Represents a Swift
TargetEnumDescriptor structure- See Also:
-
Field Summary
Fields inherited from class ghidra.app.util.bin.format.swift.types.TargetContextDescriptor
flags, SIZEFields inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
CATEGORY, CATEGORY_PATH -
Constructor Summary
ConstructorsConstructorDescriptionTargetEnumDescriptor(BinaryReader reader) Creates a newTargetEnumDescriptor -
Method Summary
Modifier and TypeMethodDescriptionReturns a short description of theSwiftTypeMetadataStructure.Returns theTargetTypeGenericContextDescriptorHeader, ornullif it doesn't exist.Returns theInvertibleProtocolSet, ornullif it doens't exist.intReturns the number of empty cases in the enum.intGets the number of non-empty cases in the enum are in the low 24 bits; the offset of the payload size in the metadata record in words, if any, is stored in the high 8 bits;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 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
-
TargetEnumDescriptor
Creates a newTargetEnumDescriptor- Parameters:
reader- ABinaryReaderpositioned at the start of the structure- Throws:
IOException- if there was an IO-related problem creating the structure
-
-
Method Details
-
getNumPayloadCasesAndPayloadSizeOffset
public int getNumPayloadCasesAndPayloadSizeOffset()Gets the number of non-empty cases in the enum are in the low 24 bits; the offset of the payload size in the metadata record in words, if any, is stored in the high 8 bits;- Returns:
- The number of non-empty cases in the enum and the offset of the payload size
-
getNumEmptyCases
public int getNumEmptyCases()Returns the number of empty cases in the enum.- Returns:
- the number of empty cases in the enum
-
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:
-