Class WordDataType

All Implemented Interfaces:
ArrayStringable, BuiltInDataType, DataType, ExtensionPoint

public class WordDataType extends AbstractUnsignedIntegerDataType
Provides a basic implementation of a word datatype
  • Field Details

    • dataType

      public static final WordDataType dataType
      A statically defined WordDataType instance.
  • Constructor Details

    • WordDataType

      public WordDataType()
    • WordDataType

      public WordDataType(DataTypeManager dtm)
  • Method Details

    • getDescription

      public String getDescription()
      Description copied from interface: DataType
      Get a String briefly describing this DataType.
      Returns:
      a one-liner describing this DataType.
    • getLength

      public int getLength()
      Description copied from interface: DataType
      Get the length of this DataType as a number of 8-bit bytes.

      For primitive datatypes this reflects the smallest varnode which can be used to contain its value (i.e., raw data length).

      Example: For x86 32-bit gcc an 80-bit long double raw data length of 10-bytes will fit within a floating point register while its aligned-length of 12-bytes is used by the gcc compiler for data/array/component allocations to maintain alignment (i.e., sizeof(long double) ).

      NOTE: Other than the VoidDataType, no datatype should ever return 0, even if DataType.isZeroLength(), and only Dynamic/FactoryDataType datatypes should return -1. If DataType.isZeroLength() is true a length of 1 should be returned. Where a zero-length datatype can be handled (e.g., Composite) the DataType.isZeroLength() method should be used.

      Returns:
      the length of this DataType
    • getAssemblyMnemonic

      public String getAssemblyMnemonic()
      Overrides:
      getAssemblyMnemonic in class AbstractIntegerDataType
      Returns:
      the Assembly style data-type declaration for this data-type.
    • getOppositeSignednessDataType

      public SignedWordDataType getOppositeSignednessDataType()
      Specified by:
      getOppositeSignednessDataType in class AbstractIntegerDataType
      Returns:
      the data-type with the opposite signedness from this data-type. For example, this method on IntegerDataType will return an instance of UnsignedIntegerDataType.
    • clone

      public WordDataType clone(DataTypeManager dtm)
      Description copied from interface: DataType
      Returns an instance of this DataType using the specified DataTypeManager to allow its use of the corresponding DataOrganization while retaining its unique identity (see DataType.getUniversalID() and archive association (see DataType.getSourceArchive()) if applicable.

      This instance will be returned if this datatype's DataTypeManager matches the specified dtm. The recursion depth of a clone will stop on any datatype whose DataTypeManager matches the specified dtm and simply use the existing datatype instance.

      NOTE: In general, this method should not be used to obtain an instance to be modified. In most cases changes may be made directly to this instance if supported or to a DataType.copy(DataTypeManager) of this type.

      Parameters:
      dtm - the data-type manager instance whose data-organization should apply.
      Returns:
      cloned instance which may be the same as this instance