Class ContextDescriptorFlags
java.lang.Object
ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
ghidra.app.util.bin.format.swift.types.ContextDescriptorFlags
- All Implemented Interfaces:
StructConverter
Represents a Swift
ContextDescriptorFlags structure- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe size (in bytes) of aContextDescriptorFlagsstructureFields inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
CATEGORY, CATEGORY_PATH -
Constructor Summary
ConstructorsConstructorDescriptionContextDescriptorFlags(BinaryReader reader) Create a newContextDescriptorFlags -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns whether the immediate class members in this metadata are allocated at negative offsets.intReturns the kind of reference that this class makes to its resilient superclass descriptor. A TypeReferenceKind..Returns a short description of theSwiftTypeMetadataStructure.intgetFlags()Returns the flags.getKind()Returns theContextDescriptorKind.Returns whether there's something unusual about how the metadata is initialized.Returns the name of theSwiftTypeMetadataStructure.booleanReturns whether or not the generic type descriptor has a pointer to a list of canonical prespecializations, or the non-generic type descriptor has a pointer to its singleton metadata.booleanReturns whether or not the class has a default override table.booleanReturns whether or not the context descriptor includes metadata for dynamically installing method overrides at metadata instantiation time.booleanReturns Whether or not the context descriptor is for a class with resilient ancestry.booleanReturns whether or not the context descriptor includes metadata for dynamically constructing a class's vtables at metadata instantiation time.booleanReturns whether or not the type has extended import information.booleanReturns whether or not the context has information about invertable protocols, which will show up as a trailing field in the context descriptor.booleanReturns whether or not the metadata contains a pointer to a layout string.booleanReturns whether or not the class is an actor.booleanReturns whether or not the class is a default actor.booleanReturns whether the context being described is generic.booleanisUnique()Returns whether this is a unique record describing the referenced context.Returns a structure datatype representing the contents of the implementor of this interface.Methods inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
getBase, getTrailingObjects
-
Field Details
-
SIZE
public static final int SIZEThe size (in bytes) of aContextDescriptorFlagsstructure- See Also:
-
-
Constructor Details
-
ContextDescriptorFlags
Create a newContextDescriptorFlags- Parameters:
reader- ABinaryReaderpositioned at the start of the structure- Throws:
IOException- if there was an IO-related problem creating the structure
-
-
Method Details
-
getFlags
public int getFlags()Returns the flags.- Returns:
- the flags
-
getKind
Returns theContextDescriptorKind.- Returns:
- the
ContextDescriptorKind
-
hasInvertableProtocols
public boolean hasInvertableProtocols()Returns whether or not the context has information about invertable protocols, which will show up as a trailing field in the context descriptor.- Returns:
- whether or not the context has information about invertable protocols, which will show up as a trailing field in the context descriptor
-
isUnique
public boolean isUnique()Returns whether this is a unique record describing the referenced context.- Returns:
- whether this is a unique record describing the referenced context
-
isGeneric
public boolean isGeneric()Returns whether the context being described is generic.- Returns:
- whether the context being described is generic
-
getMetadataInitialization
Returns whether there's something unusual about how the metadata is initialized.- Returns:
- whether there's something unusual about how the metadata is initialized
-
hasImportInfo
public boolean hasImportInfo()Returns whether or not the type has extended import information.- Returns:
- whether or not the type has extended import information
-
hasCanonicalMetadataPrespecializationsOrSingletonMetadataPonter
public boolean hasCanonicalMetadataPrespecializationsOrSingletonMetadataPonter()Returns whether or not the generic type descriptor has a pointer to a list of canonical prespecializations, or the non-generic type descriptor has a pointer to its singleton metadata.- Returns:
- whether or not the generic type descriptor has a pointer to a list of canonical prespecializations, or the non-generic type descriptor has a pointer to its singleton metadata
-
hasLayoutString
public boolean hasLayoutString()Returns whether or not the metadata contains a pointer to a layout string.- Returns:
- whether or not the metadata contains a pointer to a layout string
-
hasClassDefaultOverrideTable
public boolean hasClassDefaultOverrideTable()Returns whether or not the class has a default override table.- Returns:
- whether or not the class has a default override table
-
isClassActor
public boolean isClassActor()Returns whether or not the class is an actor.- Returns:
- whether or not the class is an actor
-
isClassDefaultActor
public boolean isClassDefaultActor()Returns whether or not the class is a default actor.- Returns:
- whether or not the class is a default actor
-
getClassResilientSuperclassReferenceKind
public int getClassResilientSuperclassReferenceKind()Returns the kind of reference that this class makes to its resilient superclass descriptor. A TypeReferenceKind..- Returns:
- the kind of reference that this class makes to its resilient superclass descriptor. A TypeReferenceKind.
-
areClassImmediateMembersNegative
public boolean areClassImmediateMembersNegative()Returns whether the immediate class members in this metadata are allocated at negative offsets.- Returns:
- whether the immediate class members in this metadata are allocated at negative offsets
-
hasClassResilientSuperclass
public boolean hasClassResilientSuperclass()Returns Whether or not the context descriptor is for a class with resilient ancestry.- Returns:
- Whether or not the context descriptor is for a class with resilient ancestry
-
hasClassOverrideTable
public boolean hasClassOverrideTable()Returns whether or not the context descriptor includes metadata for dynamically installing method overrides at metadata instantiation time.- Returns:
- whether or not the context descriptor includes metadata for dynamically installing method overrides at metadata instantiation time
-
hasClassVTable
public boolean hasClassVTable()Returns whether or not the context descriptor includes metadata for dynamically constructing a class's vtables at metadata instantiation time.- Returns:
- whether or not the context descriptor includes metadata for dynamically constructing a class's vtables at metadata instantiation time
-
getStructureName
Description copied from class:SwiftTypeMetadataStructureReturns the name of theSwiftTypeMetadataStructure.- Specified by:
getStructureNamein classSwiftTypeMetadataStructure- Returns:
- the name of the
SwiftTypeMetadataStructure
-
getDescription
Description copied from class:SwiftTypeMetadataStructureReturns a short description of theSwiftTypeMetadataStructure.- Specified by:
getDescriptionin classSwiftTypeMetadataStructure- 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.
- 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:
-