Class CharDataType

    • Constructor Detail

      • CharDataType

        public CharDataType()
        Constructs a new char datatype.
      • CharDataType

        protected CharDataType​(java.lang.String name,
                               boolean signed,
                               DataTypeManager dtm)
    • Method Detail

      • 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.
        Overrides:
        getCDeclaration in class AbstractIntegerDataType
        Returns:
        the C style data-type declaration for this data-type. Null is returned if no appropriate declaration exists.
      • getLength

        public int getLength()
        Description copied from interface: DataType
        Get the length (number of 8-bit bytes) of this DataType.
        Specified by:
        getLength in interface DataType
        Returns:
        the length of this DataType
      • getDescription

        public java.lang.String getDescription()
        Description copied from interface: DataType
        Get a String briefly describing this DataType.
        Specified by:
        getDescription in interface DataType
        Returns:
        a one-liner describing this DataType.
      • 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
        Overrides:
        getValue in class AbstractIntegerDataType
        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 AbstractIntegerDataType
        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.
      • clone

        public CharDataType clone​(DataTypeManager dtm)
        Description copied from interface: DataType
        Returns a new instance of this DataType with its universalID and SourceArchive identity retained. Note: for built-in DataType's, clone and copy should have the same affect.
        Specified by:
        clone in interface DataType
        Parameters:
        dtm - the data-type manager instance whose data-organization should apply.
      • getDefaultLabelPrefix

        public java.lang.String getDefaultLabelPrefix​(MemBuffer buf,
                                                      Settings settings,
                                                      int length,
                                                      DataTypeDisplayOptions options)
        Description copied from interface: DataType
        Returns the appropriate string to use as the default label prefix.
        Specified by:
        getDefaultLabelPrefix in interface DataType
        Overrides:
        getDefaultLabelPrefix in class AbstractDataType
        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.
      • getCTypeDeclaration

        public java.lang.String getCTypeDeclaration​(DataOrganization dataOrganization)
        Description copied from class: BuiltIn
        Returns null for FactoryDataType (which should never be used) and Dynamic types which should generally be replaced by a primitive array (e.g., char[5]) or, a primitive pointer (e.g., char *). For other types an appropriately sized unsigned integer typedef is returned.
        Specified by:
        getCTypeDeclaration in interface BuiltInDataType
        Overrides:
        getCTypeDeclaration in class BuiltIn
        Parameters:
        dataOrganization - or null for default
        Returns:
        definition C-statement (e.g., #define or typedef) or null if type name is a standard C-primitive name or if type is FactoryDataType or Dynamic.
        See Also:
        BuiltInDataType.getCTypeDeclaration(ghidra.program.model.data.DataOrganization)
      • getOppositeSignednessDataType

        public CharDataType 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.
      • getCharsetName

        public java.lang.String getCharsetName​(Settings settings)
        Description copied from interface: DataTypeWithCharset
        Get the character set for a specific data type and settings
        Specified by:
        getCharsetName in interface DataTypeWithCharset
        Parameters:
        settings - data instance settings
        Returns:
        Charset for this datatype and settings