Class FieldMappingInfo<T>

java.lang.Object
ghidra.app.util.bin.format.golang.structmapping.FieldMappingInfo<T>
Type Parameters:
T -

public class FieldMappingInfo<T> extends Object
Immutable information needed to deserialize a field in a structure mapped class.
  • Method Details

    • createEarlyBinding

      public static <T> FieldMappingInfo<T> createEarlyBinding(Field field, DataTypeComponent dtc, Signedness signedness, int length)
      Creates a FieldMappingInfo instance, used when the structure is not variable length.
      Type Parameters:
      T -
      Parameters:
      field -
      dtc -
      signedness -
      length -
      Returns:
    • createLateBinding

      public static <T> FieldMappingInfo<T> createLateBinding(Field field, String fieldName, Signedness signedness, int length)
      Creates a FieldMappingInfo instance, used when the structure is variable length and there is no pre-defined Ghidra Structure data type.
      Type Parameters:
      T -
      Parameters:
      field -
      fieldName -
      signedness -
      length -
      Returns:
    • getField

      public Field getField()
    • getFieldName

      public String getFieldName()
    • getDtc

      public DataTypeComponent getDtc()
    • getDtc

      public DataTypeComponent getDtc(Structure structure)
    • findDtc

      public DataTypeComponent findDtc(Structure struct)
    • getReaderFunc

      public FieldReadFunction<T> getReaderFunc()
    • getMarkupFuncs

      public List<FieldMarkupFunction<T>> getMarkupFuncs()
    • addMarkupFunc

      public void addMarkupFunc(FieldMarkupFunction<T> func)
    • getLength

      public int getLength()
    • getSignedness

      public Signedness getSignedness()
    • isUnsigned

      public boolean isUnsigned()
    • isStructureMappedType

      public boolean isStructureMappedType()
    • getValue

      public <R> R getValue(T structInstance, Class<R> expectedType) throws IOException
      Throws:
      IOException
    • addMarkupNestedFuncs

      public void addMarkupNestedFuncs()
    • addMarkupReferenceFunc

      public void addMarkupReferenceFunc()
    • addCommentMarkupFuncs

      public void addCommentMarkupFuncs()
    • setReadFuncClass

      public void setReadFuncClass(Class<? extends FieldReadFunction> readFuncClass)