Class GoPointerType
java.lang.Object
ghidra.app.util.bin.format.golang.rtti.types.GoType
ghidra.app.util.bin.format.golang.rtti.types.GoPointerType
- All Implemented Interfaces:
StructureMarkup<GoType>,StructureVerifier
GoType structure that defines a pointer.-
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.Returns a reference to the element's type.Returns the package path of this type.Returns the namespace that any labels should be placed in.protected StringReturns a descriptive string that defines the declaration of this type.booleanisValid()recoverDataType(GoTypeManager goTypes) 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, getFullyQualifiedName, getImplementsInterfaceString, getMethodInfoList, getMethodListString, getMethodPrototypeString, getMethodPrototypeString, getName, getOffsetEndOfFullType, getSpecializedTypeClass, getStructureContext, getStructureLabel, getStructureName, getSymbolName, getTypeOffset, getUncommonType, 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
-
Constructor Details
-
GoPointerType
public GoPointerType()
-
-
Method Details
-
getElement
Returns a reference to the element's type.- Returns:
- reference to the element's type
- Throws:
IOException- if error reading data
-
recoverDataType
Description copied from class:GoTypeConverts a golang RTTI type structure into a Ghidra data type.This default implementation just creates an opaque blob of the appropriate size
- Overrides:
recoverDataTypein classGoType- Parameters:
goTypes-GoTypeManager- 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
-
getPackagePathString
Description copied from class:GoTypeReturns the package path of this type.- Overrides:
getPackagePathStringin classGoType- Returns:
- package path of this type
-
getStructureNamespace
Description copied from interface:StructureMarkupReturns the namespace that any labels should be placed in.- Specified by:
getStructureNamespacein interfaceStructureMarkup<GoType>- Overrides:
getStructureNamespacein classGoType- Returns:
- name of namespace to place the label for this structure mapped type, or null
- Throws:
IOException- if error generating namespace name
-
getTypeDeclString
Description copied from class:GoTypeReturns a descriptive string that defines the declaration of this type.This method should be overloaded by more specific types.
- Overrides:
getTypeDeclStringin classGoType- Returns:
- descriptive string
- Throws:
IOException- if error reading data
-
isValid
public boolean isValid()- Specified by:
isValidin interfaceStructureVerifier- Overrides:
isValidin classGoType
-