Class GoVarlenString

java.lang.Object
ghidra.app.util.bin.format.golang.rtti.GoVarlenString
All Implemented Interfaces:
StructureReader<GoVarlenString>

public class GoVarlenString extends Object implements StructureReader<GoVarlenString>
A pascal-ish string, using a LEB128 value as the length of the following bytes.

Used mainly in lower-level RTTI structures, this class is a ghidra'ism used to parse the golang rtti data and does not have a counterpart in the golang src.

  • Constructor Details

    • GoVarlenString

      public GoVarlenString()
  • Method Details

    • readStructure

      public void readStructure() throws IOException
      Description copied from interface: StructureReader
      Called after an instance has been created and its context has been initialized.
      Specified by:
      readStructure in interface StructureReader<GoVarlenString>
      Throws:
      IOException
    • getStrlen

      public int getStrlen()
      Returns the string's length
      Returns:
      string's length
    • getStrlenLen

      public int getStrlenLen()
      Returns the string length's length (length of the leb128 number)
      Returns:
      string length's length
    • getBytes

      public byte[] getBytes()
      Returns the raw bytes of the string
      Returns:
      raw bytes of the string
    • getString

      public String getString()
      Returns the string value.
      Returns:
      string value
    • getStrlenDataType

      public DataTypeInstance getStrlenDataType()
      Returns the data type that is needed to hold the string length field.
      Returns:
      data type needed to hold the string length field
    • getValueDataType

      public DataType getValueDataType()
      Returns the data type that holds the raw string value.
      Returns:
      data type that holds the raw string value.
    • toString

      public String toString()
      Overrides:
      toString in class Object