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 TypeMethodDescriptionvoid
additionalMarkup
(MarkupSession session) Called to allow the implementor to perform custom markup of itself.void
discoverGoTypes
(Set<Long> discoveredTypes) long
Return 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.GoIMethodInfo
instances, 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, wait
Methods 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.GoIMethodInfo
instances, that represent the methods implemented by the specified type / interface.- Returns:
- list of
GoIMethod.GoIMethodInfo
instances - Throws:
IOException
- if error reading interface method list
-
getStructureName
Description copied from interface:StructureMarkup
Returns the name of the instance, typically retrieved from data found inside the instance.- Specified by:
getStructureName
in interfaceStructureMarkup<GoItab>
- Returns:
- string name, or null if this instance does not have a name
- Throws:
IOException
- if error getting name
-
getStructureContext
- Specified by:
getStructureContext
in interfaceStructureMarkup<GoItab>
-
getStructureLabel
Description copied from interface:StructureMarkup
Returns 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 thestructureName
value in the@StructureMapping
annotation.- Specified by:
getStructureLabel
in 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:StructureMarkup
Returns the namespace that any labels should be placed in.- Specified by:
getStructureNamespace
in 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:StructureMarkup
Called to allow the implementor to perform custom markup of itself.- Specified by:
additionalMarkup
in interfaceStructureMarkup<GoItab>
- Parameters:
session
- state and methods to assist marking up the program- Throws:
IOException
- if error during markup
-
toString
-
discoverGoTypes
-