Class GoPlainType
java.lang.Object
ghidra.app.util.bin.format.golang.rtti.types.GoType
ghidra.app.util.bin.format.golang.rtti.types.GoPlainType
- All Implemented Interfaces:
StructureMarkup<GoType>,StructureReader<GoType>
WARNING: tricky code / class layout here!
To coerce java inheritance and structmapping features to match the layout of go rtti type structs, this class is constructed strangely.
GoType structure that defines a built-in primitive type.
-
Field Summary
Fields inherited from class ghidra.app.util.bin.format.golang.rtti.types.GoType
context, programContext, typ, uncommonType -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandiscoverGoTypes(Set<Long> discoveredTypes) Iterates this type, and any types this type refers to, while registering the types with theGoRttiMappercontext.voidCalled after an instance has been created and its context has been initialized.Converts a golang RTTI type structure into a Ghidra data type.Methods inherited from class ghidra.app.util.bin.format.golang.rtti.types.GoType
additionalMarkup, getBaseType, getDebugId, getEndOfTypeInfo, getImplementsInterfaceString, getMethodInfoList, getMethodListString, getMethodSignature, getName, getNameWithPackageString, getOffsetEndOfFullType, getPackagePathString, getSpecializedTypeClass, getStructureContext, getStructureName, getStructureNamespace, getTypeDeclString, getTypeOffset, getUncommonType, getUniqueTypename, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.app.util.bin.format.golang.structmapping.StructureMarkup
getExternalInstancesToMarkup, getStructureLabel
-
Constructor Details
-
GoPlainType
public GoPlainType()
-
-
Method Details
-
readStructure
Description copied from interface:StructureReaderCalled after an instance has been created and its context has been initialized.- Specified by:
readStructurein interfaceStructureReader<GoType>- Throws:
IOException
-
recoverDataType
Description copied from class:GoTypeConverts a golang RTTI type structure into a Ghidra data type.- Overrides:
recoverDataTypein classGoType- Returns:
DataTypethat represents the golang type- Throws:
IOException- if error getting name of the type
-
discoverGoTypes
Description copied from class:GoTypeIterates this type, and any types this type refers to, while registering the types with theGoRttiMappercontext.This method should be overloaded by derived type classes to add any additional types referenced by the derived type.
- Overrides:
discoverGoTypesin classGoType- Parameters:
discoveredTypes- set of already iterated types- Returns:
- boolean boolean flag, if false the type has already been discovered, if true the type was encountered for the first time
- Throws:
IOException- if error reading type info
-