Class GoItab
java.lang.Object
ghidra.app.util.bin.format.golang.rtti.GoItab
- All Implemented Interfaces:
StructureMarkup<GoItab>
Represents a mapping between a golang interface and a type that implements the methods of
the interface.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadditionalMarkup(MarkupSession session) Called to allow the implementor to perform custom markup of itself.voiddiscoverGoTypes(Set<Long> discoveredTypes) longReturn the number of methods implemented.Returns an artificial slice that contains the address of the functions that implement the interface methods.Returns the interface implemented by the specified type.Returns list ofGoIMethod.GoIMethodInfoinstances, that represent the methods implemented by the specified type / interface.Returns a string that can be used to place a label on the instance.Returns the name of the instance, typically retrieved from data found inside the instance.Returns the namespace that any labels should be placed in.getType()Returns the type that implements the specified interface.toString()Methods 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
-
GoItab
public GoItab()
-
-
Method Details
-
getInterfaceType
Returns the interface implemented by the specified type.- Returns:
- interface implemented by the specified type
- Throws:
IOException- if error reading ref'd interface structure
-
getType
Returns the type that implements the specified interface.- Returns:
- type that implements the specified interface
- Throws:
IOException- if error reading the ref'd type structure
-
getFuncCount
Return the number of methods implemented.- Returns:
- number of methods implemented
- Throws:
IOException- if error reading interface structure
-
getFunSlice
Returns an artificial slice that contains the address of the functions that implement the interface methods.- Returns:
- artificial slice that contains the address of the functions that implement the interface methods
- Throws:
IOException- if error reading method info
-
getMethodInfoList
Returns list ofGoIMethod.GoIMethodInfoinstances, that represent the methods implemented by the specified type / interface.- Returns:
- list of
GoIMethod.GoIMethodInfoinstances - Throws:
IOException- if error reading interface method list
-
getStructureName
Description copied from interface:StructureMarkupReturns the name of the instance, typically retrieved from data found inside the instance.- Specified by:
getStructureNamein interfaceStructureMarkup<GoItab>- Returns:
- string name, or null if this instance does not have a name
- Throws:
IOException- if error getting name
-
getStructureContext
- Specified by:
getStructureContextin interfaceStructureMarkup<GoItab>
-
getStructureLabel
Description copied from interface:StructureMarkupReturns a string that can be used to place a label on the instance.This default implementation will query the
StructureMarkup.getStructureName()method, and if it provides a value, will produce a string that looks like "name___mappingstructname", where "mappingstructname" will be thestructureNamevalue in the@StructureMappingannotation.- Specified by:
getStructureLabelin interfaceStructureMarkup<GoItab>- Returns:
- string to be used as a label, or null if there is not a valid label for the instance
- Throws:
IOException- if error getting label
-
getStructureNamespace
Description copied from interface:StructureMarkupReturns the namespace that any labels should be placed in.- Specified by:
getStructureNamespacein interfaceStructureMarkup<GoItab>- Returns:
- name of namespace to place the label for this structure mapped type, or null
- Throws:
IOException- if error generating namespace name
-
additionalMarkup
Description copied from interface:StructureMarkupCalled to allow the implementor to perform custom markup of itself.- Specified by:
additionalMarkupin interfaceStructureMarkup<GoItab>- Parameters:
session- state and methods to assist marking up the program- Throws:
IOException- if error during markup
-
toString
-
discoverGoTypes
-