Class TargetGenericWitnessTable
java.lang.Object
ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
ghidra.app.util.bin.format.swift.types.TargetGenericWitnessTable
- All Implemented Interfaces:
StructConverter
-
Field Summary
Fields inherited from class ghidra.app.util.bin.format.swift.SwiftTypeMetadataStructure
CATEGORY, CATEGORY_PATH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a short description of theSwiftTypeMetadataStructure.intReturns the instantiation function, which is called after the template is copied.intReturns the private data for the instantiator.Returns the name of theSwiftTypeMetadataStructure.intReturns the amount of private storage to allocate before the address point, in words.intReturns the size of the witness table in words.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
-
Constructor Details
-
TargetGenericWitnessTable
Creates a newTargetGenericWitnessTable- Parameters:
reader- ABinaryReaderpositioned at the start of the structure- Throws:
IOException- if there was an IO-related problem creating the structure
-
-
Method Details
-
getWitnessTableSizeInWords
public int getWitnessTableSizeInWords()Returns the size of the witness table in words.The amount is copied from the witness table template into the instantiated witness table.
- Returns:
- the size of the witness table in words
-
getWitnessTablePrivateSizeInWordsAndRequiresInstantiation
public int getWitnessTablePrivateSizeInWordsAndRequiresInstantiation()Returns the amount of private storage to allocate before the address point, in words.This memory is zeroed out in the instantiated witness table template. The low bit is used to indicate whether this witness table is known to require instantiation.
- Returns:
- the amount of private storage to allocate before the address point, in words
-
getInstantiator
public int getInstantiator()Returns the instantiation function, which is called after the template is copied.- Returns:
- the instantiation function, which is called after the template is copied
-
getPrivateData
public int getPrivateData()Returns the private data for the instantiator.Might be null with building with
-disable-preallocated-instantiation-caches.- Returns:
- the private data for the instantiator
-
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:
-