Class GoName
java.lang.Object
ghidra.app.util.bin.format.golang.rtti.GoName
- All Implemented Interfaces:
StructureMarkup<GoName>,StructureReader<GoName>
Represents a golang "name" construct, which isn't represented in go as a normal structure
since it is full of variable length and optional fields.
struct {
byte flag;
varint strlen;
char[strlen] chars;
(optional: varint tag_strlen; char [tag_strlen];)
(optional: int32 pkgpath)
}
Because this type has variable length fields (@FieldOutput(isVariableLength=true)), there will
be unique structure data types produced for each size combination of a GoName structure, and
will be named "GoName_N_M", where N and M are the lengths of the variable fields [name, tag]-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.app.util.bin.format.golang.structmapping.StructureMarkup
additionalMarkup, getExternalInstancesToMarkup, getStructureLabel
-
Constructor Details
-
GoName
public GoName()
-
-
Method Details
-
readStructure
Description copied from interface:StructureReaderCalled after an instance has been created and its context has been initialized.- Specified by:
readStructurein interfaceStructureReader<GoName>- Throws:
IOException
-
getName
-
getTag
-
getPkgPath
- Throws:
IOException
-
getPkgPathDataType
-
getFullNameString
- Throws:
IOException
-
getFlags
public int getFlags() -
getFlagsSet
-
getStructureContext
- Specified by:
getStructureContextin interfaceStructureMarkup<GoName>
-
getStructureName
Description copied from interface:StructureMarkupReturns the name of the instance, typically retrieved from data found inside the instance.- Specified by:
getStructureNamein interfaceStructureMarkup<GoName>- Returns:
- string name, or null if this instance does not have a name
- Throws:
IOException
-