java.lang.Object
ghidra.app.util.bin.format.golang.rtti.types.GoBaseType

public class GoBaseType extends Object
Represents the fundamental golang rtti type information.

The in-memory instance will typically be part of a specialized type structure, depending on the 'kind' of this type.

Additionally, there can be an GoUncommonType structure immediately after this type, if the uncommon bit is set in tflag.

 struct specialized_type { basetype_struct; (various_fields)* } struct uncommon; 
 
  • Constructor Details

    • GoBaseType

      public GoBaseType()
  • Method Details

    • getSize

      public long getSize()
      Returns the size of the type being defined by this structure.
      Returns:
      size of the type being defined
    • getKind

      public GoKind getKind()
      Returns the GoKind enum assigned to this type definition.
      Returns:
      GoKind enum assigned to this type definition
    • getFlags

      public Set<GoTypeFlag> getFlags()
      Returns the GoTypeFlags assigned to this type definition.
      Returns:
      GoTypeFlags assigned to this type definition
    • getTflag

      public int getTflag()
      Returns the raw flag value.
      Returns:
      raw flag value
    • hasUncommonType

      public boolean hasUncommonType()
      Returns true if this type definition's flags indicate there is a following GoUncommon structure.
      Returns:
      true if this type definition's flags indicate there is a following GoUncommon struct
    • getGoName

      public GoName getGoName() throws IOException
      Returns the name of this type.
      Returns:
      name of this type, as a GoName
      Throws:
      IOException - if error reading data
    • getName

      public String getName()
      Returns the name of this type.
      Returns:
      String name of this type
    • getPtrToThis

      public GoType getPtrToThis() throws IOException
      Returns a reference to the GoType that represents a pointer to this type.
      Returns:
      reference to the GoType that represents a pointer to this type
      Throws:
      IOException - if error reading