Class TypeLayoutInfo

java.lang.Object
com.pnfsoftware.jeb.core.units.code.asm.type.TypeLayoutInfo

public class TypeLayoutInfo extends Object
Basic memory requirements (layout) for a type. Those objects are immutable type descriptor, and are used by calling convention objects.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final TypeLayoutInfo
    A floating type fitting on a single slot (the size of the slot is architecture-dependant).
    static final TypeLayoutInfo
    A floating type fitting on two slots (the size of the slot is architecture-dependant).
    static final TypeLayoutInfo
    An integer type fitting on a single slot (the size of the slot is architecture-dependant).
    static final TypeLayoutInfo
    An integer type fitting on two slots (the size of the slot is architecture-dependant).
    static final TypeLayoutInfo
    A pointer type fitting on a single slot (the size of the slot is architecture-dependant).
  • Method Summary

    Modifier and Type
    Method
    Description
    c(int slotcount)
    Create another entry type, usually used for composite types (structures and similar).
    boolean
     
    f(int slotcount)
    Create a floating point entry.
    Retrieve the type category.
    int
    Retrieve the number of slots required by this type.
    int
     
    i(int slotcount)
    Create an integral entry.
    boolean
    Determine whether this layout describes a composite type.
    boolean
    Determine whether this layout describes a floating-point type.
    boolean
    Determine whether this layout describes an integral type.
    boolean
    Determine whether this layout describes a pointer type.
    boolean
    Determine whether this layout describes a vector type.
    p(int slotcount)
    Create a pointer entry.
     
    v(int slotcount)
    Create a vector-type entry.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • i1

      public static final TypeLayoutInfo i1
      An integer type fitting on a single slot (the size of the slot is architecture-dependant).
    • i2

      public static final TypeLayoutInfo i2
      An integer type fitting on two slots (the size of the slot is architecture-dependant).
    • f1

      public static final TypeLayoutInfo f1
      A floating type fitting on a single slot (the size of the slot is architecture-dependant).
    • f2

      public static final TypeLayoutInfo f2
      A floating type fitting on two slots (the size of the slot is architecture-dependant).
    • ptr

      public static final TypeLayoutInfo ptr
      A pointer type fitting on a single slot (the size of the slot is architecture-dependant).
  • Method Details

    • getSlotcount

      public int getSlotcount()
      Retrieve the number of slots required by this type.
      Returns:
      slot count
    • getCategory

      public TypeCategory getCategory()
      Retrieve the type category.
      Returns:
      type category
    • i

      public static TypeLayoutInfo i(int slotcount)
      Create an integral entry.
      Parameters:
      slotcount - slot count
      Returns:
      type layout information
    • f

      public static TypeLayoutInfo f(int slotcount)
      Create a floating point entry.
      Parameters:
      slotcount - slot count
      Returns:
      type layout information
    • p

      public static TypeLayoutInfo p(int slotcount)
      Create a pointer entry.
      Parameters:
      slotcount - usually 1
      Returns:
      type layout information
    • v

      public static TypeLayoutInfo v(int slotcount)
      Create a vector-type entry.
      Parameters:
      slotcount - slot count
      Returns:
      type layout information
    • c

      public static TypeLayoutInfo c(int slotcount)
      Create another entry type, usually used for composite types (structures and similar).
      Parameters:
      slotcount - slot count
      Returns:
      type layout information
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isInteger

      public boolean isInteger()
      Determine whether this layout describes an integral type.
      Returns:
      true for integral types
    • isFloat

      public boolean isFloat()
      Determine whether this layout describes a floating-point type.
      Returns:
      true for floating-point types
    • isPointer

      public boolean isPointer()
      Determine whether this layout describes a pointer type.
      Returns:
      true for pointer types
    • isVector

      public boolean isVector()
      Determine whether this layout describes a vector type.
      Returns:
      true for vector types
    • isComposite

      public boolean isComposite()
      Determine whether this layout describes a composite type.
      Returns:
      true for composite types