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
SIZE
Fields inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
DATA_TYPE_CATEGORY
-
Constructor Summary
ConstructorDescriptionTargetEnumDescriptor
(BinaryReader reader) Creates a newTargetEnumDescriptor
-
Method Summary
Modifier and TypeMethodDescriptionGets a short description of theSwiftTypeMetadataStructure
int
Gets the number of empty cases in the enumint
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;Gets the name of theSwiftTypeMetadataStructure
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, toString
Methods inherited from class ghidra.app.util.bin.format.swift.types.TargetContextDescriptor
getFlags, getParent
Methods inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
getBase
-
Constructor Details
-
TargetEnumDescriptor
Creates a newTargetEnumDescriptor
- Parameters:
reader
- ABinaryReader
positioned 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()Gets the number of empty cases in the enum- Returns:
- The number of empty cases in the enum
-
getStructureName
Description copied from class:SwiftTypeMetadataStructure
Gets the name of theSwiftTypeMetadataStructure
- Overrides:
getStructureName
in classTargetTypeContextDescriptor
- Returns:
- The name of the
SwiftTypeMetadataStructure
-
getDescription
Description copied from class:SwiftTypeMetadataStructure
Gets a short description of theSwiftTypeMetadataStructure
- Overrides:
getDescription
in classTargetTypeContextDescriptor
- Returns:
- A short description of the
SwiftTypeMetadataStructure
-
toDataType
Description copied from interface:StructConverter
Returns 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:
toDataType
in interfaceStructConverter
- Overrides:
toDataType
in 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:
-