Class BuiltIn

    • Method Detail

      • getBuiltInSettingsDefinitions

        protected SettingsDefinition[] getBuiltInSettingsDefinitions()
        Gets a list of all the settingsDefinitions used by this datatype.
        Returns:
        a list of the settingsDefinitions used by this datatype.
      • isEquivalent

        public boolean isEquivalent​(DataType dt)
        Description copied from interface: DataType
        Check if the given datatype is equivalent to this datatype.

        The precise meaning of "equivalent" is datatype dependent.
        NOTE: if invoked by a DB object or manager it should be invoked on the DataTypeDB object passing the other datatype as the argument.

        Specified by:
        isEquivalent in interface DataType
        Parameters:
        dt - the datatype being tested for equivalence.
        Returns:
        true if the if the given datatype is equivalent to this datatype.
      • dataTypeSizeChanged

        public void dataTypeSizeChanged​(DataType dt)
        Description copied from interface: DataType
        Notification that the given datatype's size has changed.

        DataTypes may need to make internal changes in response.
        TODO: This method is reserved for internal DB use.

        Specified by:
        dataTypeSizeChanged in interface DataType
        Overrides:
        dataTypeSizeChanged in class AbstractDataType
        Parameters:
        dt - the datatype that has changed.
      • addParent

        public final void addParent​(DataType dt)
        Description copied from interface: DataType
        Inform this datatype that it has the given parent

        TODO: This method is reserved for internal DB use.

        Specified by:
        addParent in interface DataType
        Overrides:
        addParent in class DataTypeImpl
        Parameters:
        dt - parent datatype
      • removeParent

        public final void removeParent​(DataType dt)
        Description copied from interface: DataType
        Remove a parent datatype

        TODO: This method is reserved for internal DB use.

        Specified by:
        removeParent in interface DataType
        Overrides:
        removeParent in class DataTypeImpl
        Parameters:
        dt - parent datatype
      • dataTypeNameChanged

        public void dataTypeNameChanged​(DataType dt,
                                        java.lang.String oldName)
        Description copied from interface: DataType
        Informs this datatype that its name has changed from the indicated old name.

        TODO: This method is reserved for internal DB use.

        Specified by:
        dataTypeNameChanged in interface DataType
        Overrides:
        dataTypeNameChanged in class AbstractDataType
        Parameters:
        dt - the datatype whose name changed
        oldName - the datatype's old name
      • dataTypeReplaced

        public void dataTypeReplaced​(DataType oldDt,
                                     DataType newDt)
        Description copied from interface: DataType
        Informs this datatype that the given oldDT has been replaced with newDT

        TODO: This method is reserved for internal DB use.

        Specified by:
        dataTypeReplaced in interface DataType
        Overrides:
        dataTypeReplaced in class AbstractDataType
        Parameters:
        oldDt - old datatype
        newDt - new datatype
      • dataTypeDeleted

        public void dataTypeDeleted​(DataType dt)
        Description copied from interface: DataType
        Informs this datatype that the given datatype has been deleted.

        TODO: This method is reserved for internal DB use.

        Specified by:
        dataTypeDeleted in interface DataType
        Overrides:
        dataTypeDeleted in class AbstractDataType
        Parameters:
        dt - the datatype that has been deleted.
      • dependsOn

        public boolean dependsOn​(DataType dt)
        Description copied from interface: DataType
        Check if this datatype depends on the existence of the given datatype.

        For example byte[] depends on byte. If byte were deleted, then byte[] would also be deleted.

        Specified by:
        dependsOn in interface DataType
        Overrides:
        dependsOn in class AbstractDataType
        Parameters:
        dt - the datatype to test that this datatype depends on.
        Returns:
        true if the existence of this datatype relies on the existence of the specified datatype dt.
      • getUniversalID

        public UniversalID getUniversalID()
        Description copied from interface: DataType
        Get the universal ID for this datatype.

        This value is intended to be a unique identifier across all programs and archives. The same ID indicates that two datatypes were originally the same one. Keep in mind names, categories, and component makeup may differ and have changed since there origin.

        Specified by:
        getUniversalID in interface DataType
        Overrides:
        getUniversalID in class DataTypeImpl
        Returns:
        datatype UniversalID
      • getLastChangeTime

        public long getLastChangeTime()
        Description copied from interface: DataType
        Get the timestamp corresponding to the last time this type was changed within its datatype manager
        Specified by:
        getLastChangeTime in interface DataType
        Overrides:
        getLastChangeTime in class DataTypeImpl
        Returns:
        timestamp of last change within datatype manager
      • getDecompilerDisplayName

        public java.lang.String getDecompilerDisplayName​(DecompilerLanguage language)
        Return token used to represent this type in decompiler/source-code output
        Parameters:
        language - is the language being displayed
        Returns:
        the name string
      • getCTypeDeclaration

        protected java.lang.String getCTypeDeclaration​(java.lang.String typeName,
                                                       java.lang.String ctypeName,
                                                       boolean useDefine)
      • getCTypeDeclaration

        protected java.lang.String getCTypeDeclaration​(java.lang.String typeName,
                                                       int typeLen,
                                                       boolean signed,
                                                       DataOrganization dataOrganization,
                                                       boolean useDefine)
      • getCTypeDeclaration

        protected java.lang.String getCTypeDeclaration​(BuiltIn dt,
                                                       boolean signed,
                                                       DataOrganization dataOrganization,
                                                       boolean useDefine)
      • getCTypeDeclaration

        public java.lang.String getCTypeDeclaration​(DataOrganization dataOrganization)
        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
        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)