Class GoInterfaceType
java.lang.Object
ghidra.app.util.bin.format.golang.rtti.types.GoType
ghidra.app.util.bin.format.golang.rtti.types.GoInterfaceType
- All Implemented Interfaces:
StructureMarkup<GoType>
A
GoType structure that defines a golang interface.-
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 TypeMethodDescriptionvoidadditionalMarkup(MarkupSession session) Called to allow the implementor to perform custom markup of itself.booleandiscoverGoTypes(Set<Long> discoveredTypes) Iterates this type, and any types this type refers to, while registering the types with theGoRttiMappercontext.Returns the methods defined by this interfaceReturns a slice containing the methods of this interface.Returns the package path of this type, referenced via the pkgpath field's markup annotationConverts a golang RTTI type structure into a Ghidra data type.Methods inherited from class ghidra.app.util.bin.format.golang.rtti.types.GoType
getBaseType, getDebugId, getEndOfTypeInfo, getImplementsInterfaceString, getMethodInfoList, 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
-
GoInterfaceType
public GoInterfaceType()
-
-
Method Details
-
getPkgPath
Returns the package path of this type, referenced via the pkgpath field's markup annotation- Returns:
- package path
GoNamea - Throws:
IOException- if error reading
-
getMethodsSlice
Returns a slice containing the methods of this interface.- Returns:
- slice containing the methods of this interface
-
getMethods
Returns the methods defined by this interface- Returns:
- methods defined by this interface
- Throws:
IOException- if error reading data
-
additionalMarkup
Description copied from interface:StructureMarkupCalled to allow the implementor to perform custom markup of itself.- Specified by:
additionalMarkupin interfaceStructureMarkup<GoType>- Overrides:
additionalMarkupin classGoType- Parameters:
session- state and methods to assist marking up the program- Throws:
IOException- if error during markupCancelledException- if cancelled
-
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
-
getMethodListString
- Overrides:
getMethodListStringin classGoType- Throws:
IOException
-
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
-