Class GoMapType
java.lang.Object
ghidra.app.util.bin.format.golang.rtti.types.GoType
ghidra.app.util.bin.format.golang.rtti.types.GoMapType
- All Implemented Interfaces:
StructureMarkup<GoType>
Golang type info about a specific map type.
See GoRttiMapper.getMapGoType()
or the "runtime.hmap" type for the definition of
a instance of a map variable in memory.
-
Field Summary
Fields inherited from class ghidra.app.util.bin.format.golang.rtti.types.GoType
context, programContext, typ, uncommonType
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
discoverGoTypes
(Set<Long> discoveredTypes) Iterates this type, and any types this type refers to, while registering the types with theGoRttiMapper
context.Returns the GoType that defines the map's bucket, referenced by the bucket field's markup annotationReturns the GoType that defines the map's element, referenced by the element field's markup annotationgetKey()
Returns the GoType that defines the map's key, referenced by the key field's markup annotationprotected String
Returns a descriptive string that defines the declaration of this type.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, getTypeOffset, getUncommonType, getUniqueTypename, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ghidra.app.util.bin.format.golang.structmapping.StructureMarkup
getExternalInstancesToMarkup, getStructureLabel
-
Constructor Details
-
GoMapType
public GoMapType()
-
-
Method Details
-
getKey
Returns the GoType that defines the map's key, referenced by the key field's markup annotation- Returns:
- GoType that defines the map's key
- Throws:
IOException
- if error reading data
-
getElement
Returns the GoType that defines the map's element, referenced by the element field's markup annotation- Returns:
- GoType that defines the map's element
- Throws:
IOException
- if error reading data
-
getBucket
Returns the GoType that defines the map's bucket, referenced by the bucket field's markup annotation- Returns:
- GoType that defines the map's bucket
- Throws:
IOException
- if error reading data
-
recoverDataType
Description copied from class:GoType
Converts a golang RTTI type structure into a Ghidra data type.- Overrides:
recoverDataType
in classGoType
- Returns:
DataType
that represents the golang type- Throws:
IOException
- if error getting name of the type
-
discoverGoTypes
Description copied from class:GoType
Iterates this type, and any types this type refers to, while registering the types with theGoRttiMapper
context.This method should be overloaded by derived type classes to add any additional types referenced by the derived type.
- Overrides:
discoverGoTypes
in 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
-
getTypeDeclString
Description copied from class:GoType
Returns a descriptive string that defines the declaration of this type.This method should be overloaded by more specific types.
- Overrides:
getTypeDeclString
in classGoType
- Returns:
- descriptive string
- Throws:
IOException
- if error reading data
-