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 TargetContextDescriptor
flags, SIZEFields inherited from class 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 TargetTypeContextDescriptor
getAccessFunctionPtr, getFieldDescriptor, getFields, getName, toStringMethods inherited from class TargetContextDescriptor
getFlags, getParentMethods inherited from class 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:
-