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 -
        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 DataTypeImpl
        Returns:
        the default label prefix or null if none specified.
      • getMnemonic

        public java.lang.String getMnemonic​(Settings settings)
        Description copied from interface: DataType
        Get the mnemonic for this DataType.
        Specified by:
        getMnemonic in interface DataType
        Returns:
        the mnemonic for this DataType.
      • 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.
      • 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.
      • 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 DataType 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.
      • 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.