Class AbstractIntegerDataType

    • Constructor Detail

      • AbstractIntegerDataType

        public AbstractIntegerDataType​(java.lang.String name,
                                       boolean signed,
                                       DataTypeManager dtm)
        Constructor
        Parameters:
        name - a unique signed/unsigned data-type name (also used as the mnemonic)
        signed - true if signed, false if unsigned
        dtm - data-type manager whose data organization should be used
    • Method Detail

      • getFormatSettingsDefinition

        protected FormatSettingsDefinition getFormatSettingsDefinition()
        Return the Format settings definition included in the settings definition array
        Returns:
        Format settings definition included in the settings definition array
        See Also:
        BuiltIn.getSettingsDefinitions()
      • getBuiltInSettingsDefinitions

        protected SettingsDefinition[] getBuiltInSettingsDefinitions()
        Description copied from class: BuiltIn
        Gets a list of all the settingsDefinitions used by this datatype.
        Overrides:
        getBuiltInSettingsDefinitions in class BuiltIn
        Returns:
        a list of the settingsDefinitions used by this datatype.
      • isSigned

        public boolean isSigned()
        Returns:
        true if this is a signed integer data-type
      • getDefaultLabelPrefix

        public java.lang.String getDefaultLabelPrefix()
        Description copied from interface: DataType
        Returns the appropriate string to use as the default label prefix in the absence of any data.
        Specified by:
        getDefaultLabelPrefix in interface DataType
        Overrides:
        getDefaultLabelPrefix in class AbstractDataType
        Returns:
        the default label prefix or null if none specified.
      • getAssemblyMnemonic

        public java.lang.String getAssemblyMnemonic()
        Returns:
        the Assembly style data-type declaration for this data-type.
      • getCMnemonic

        public java.lang.String getCMnemonic()
        Returns:
        the C style data-type mnemonic for this data-type. NOTE: currently the same as getCDeclaration().
      • getCDeclaration

        public java.lang.String getCDeclaration()
        Returns:
        the C style data-type declaration for this data-type. Null is returned if no appropriate declaration exists.
      • getValue

        public java.lang.Object getValue​(MemBuffer buf,
                                         Settings settings,
                                         int length)
        Description copied from interface: DataType
        Get the data in the form of the appropriate Object for this DataType. For instance if the data type is an AddressDT, return an Address object. a Byte, return a Scalar* (maybe this should be a Byte) a Float, return a Float
        Specified by:
        getValue in interface DataType
        Parameters:
        buf - the data buffer.
        settings - the settings to use.
        length - the number of bytes to get the value from.
        Returns:
        the data Object.
      • getValueClass

        public java.lang.Class<?> getValueClass​(Settings settings)
        Description copied from interface: DataType
        Get the Class of the value to be returned by this data type.
        Specified by:
        getValueClass in interface DataType
        Overrides:
        getValueClass in class DataTypeImpl
        Parameters:
        settings - the relevant settings to use or null for default.
        Returns:
        Class of the value to be returned by this data type or null if it can vary or is unspecified. Types which correspond to a string or char array will return the String class.
      • getRepresentation

        public java.lang.String getRepresentation​(MemBuffer buf,
                                                  Settings settings,
                                                  int length)
        Description copied from interface: DataType
        Get bytes from memory in a printable format for this type.
        Specified by:
        getRepresentation in interface DataType
        Parameters:
        buf - the data.
        settings - the settings to use for the representation.
        length - the number of bytes to represent.
        Returns:
        the representation of the data in this format, never null.
      • getRepresentation

        public java.lang.String getRepresentation​(java.math.BigInteger bigInt,
                                                  Settings settings,
                                                  int bitLength)
        Get integer representation of the big-endian value.
        Parameters:
        bigInt - BigInteger value with the appropriate sign
        settings - integer format settings (PADDING, FORMAT, etc.)
        bitLength - number of value bits to be used from bigInt
        Returns:
        formatted integer string
      • hasStringValue

        public boolean hasStringValue​(Settings settings)
        Description copied from interface: ArrayStringable
        For cases where an array of this type exists, determines if a String value will be returned.

        Specified by:
        hasStringValue in interface ArrayStringable
        Returns:
        true if array of this type with the specified settings will return a String value.
      • getArrayDefaultLabelPrefix

        public java.lang.String getArrayDefaultLabelPrefix​(MemBuffer buf,
                                                           Settings settings,
                                                           int len,
                                                           DataTypeDisplayOptions options)
        Description copied from interface: ArrayStringable
        For cases where an array of this type exists, get the appropriate string to use as the default label prefix for the array.
        Specified by:
        getArrayDefaultLabelPrefix in interface ArrayStringable
        Parameters:
        buf - memory buffer containing the bytes.
        settings - the Settings object
        options - options for how to format the default label prefix.
        Returns:
        the default label prefix or null if none specified.
      • getArrayDefaultOffcutLabelPrefix

        public java.lang.String getArrayDefaultOffcutLabelPrefix​(MemBuffer buf,
                                                                 Settings settings,
                                                                 int len,
                                                                 DataTypeDisplayOptions options,
                                                                 int offcutOffset)
        Description copied from interface: ArrayStringable
        For cases where an array of this type exists, get the appropriate string to use as the default label prefix, taking into account the fact that there exists a reference to the data that references offcutLength bytes into this type
        Specified by:
        getArrayDefaultOffcutLabelPrefix in interface ArrayStringable
        Parameters:
        buf - memory buffer containing the bytes.
        settings - the Settings object
        options - options for how to format the default label prefix.
        Returns:
        the default label prefix or null if none specified.
      • getOppositeSignednessDataType

        public abstract AbstractIntegerDataType getOppositeSignednessDataType()
        Returns:
        the data-type with the opposite signedness from this data-type. For example, this method on IntegerDataType will return an instance of UnsignedIntegerDataType.
      • isEquivalent

        public boolean isEquivalent​(DataType dt)
        Description copied from interface: DataType
        Returns true if the given dataType is equivalent to this dataType. The precise meaning of "equivalent" is dataType dependent.
        Specified by:
        isEquivalent in interface DataType
        Overrides:
        isEquivalent in class BuiltIn
        Parameters:
        dt - the dataType being tested for equivalence.
        Returns:
        true if the if the given dataType is equivalent to this dataType.
      • getSignedDataType

        public static DataType getSignedDataType​(int size,
                                                 DataTypeManager dtm)
        Get a Signed Integer data-type instance of the requested size
        Parameters:
        size - data type size, sizes greater than 8 (and other than 16) will cause an SignedByteDataType[size] (i.e., Array) to be returned.
        dtm - optional program data-type manager, if specified a generic data-type will be returned if possible.
        Returns:
        signed integer data type
      • getSignedDataTypes

        public static AbstractIntegerDataType[] getSignedDataTypes​(DataTypeManager dtm)
        Returns all built-in signed integer data-types.
        Parameters:
        dtm - optional program data-type manager, if specified generic data-types will be returned in place of fixed-sized data-types.
        Returns:
        array of all signed integer types (char and bool types excluded)
      • getUnsignedDataType

        public static DataType getUnsignedDataType​(int size,
                                                   DataTypeManager dtm)
        Get a Unsigned Integer data-type instance of the requested size
        Parameters:
        size - data type size, sizes greater than 8 (and other than 16) will cause an undefined type to be returned.
        dtm - optional program data-type manager, if specified a generic data-type will be returned if possible.
        Returns:
        unsigned integer data type
      • getUnsignedDataTypes

        public static AbstractIntegerDataType[] getUnsignedDataTypes​(DataTypeManager dtm)
        Returns all built-in unsigned integer data-types
        Parameters:
        dtm - optional program data-type manager, if specified generic data-types will be returned in place of fixed-sized data-types.
        Returns:
        array of all unsigned integer types (char and bool types excluded)