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
        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
        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 and should be removed from the public DataType interface!!
        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 data type that it has the given parent
        TODO: This method is reserved for internal DB use and should be removed from the public DataType interface!!
        Specified by:
        addParent in interface DataType
        Overrides:
        addParent in class DataTypeImpl
        Parameters:
        dt - parent data type
      • removeParent

        public final void removeParent​(DataType dt)
        Description copied from interface: DataType
        Remove a parent data type
        TODO: This method is reserved for internal DB use and should be removed from the public DataType interface!!
        Specified by:
        removeParent in interface DataType
        Overrides:
        removeParent in class DataTypeImpl
        Parameters:
        dt - parent data type
      • dataTypeNameChanged

        public void dataTypeNameChanged​(DataType dt,
                                        java.lang.String oldName)
        Description copied from interface: DataType
        Informs this data type that its name has changed from the indicated old name.
        TODO: This method is reserved for internal DB use and should be removed from the public DataType interface!!
        Specified by:
        dataTypeNameChanged in interface DataType
        Overrides:
        dataTypeNameChanged in class AbstractDataType
        Parameters:
        dt - the data type whose name changed
        oldName - the data type's old name
      • dataTypeReplaced

        public void dataTypeReplaced​(DataType oldDt,
                                     DataType newDt)
        Description copied from interface: DataType
        Informs this data type that the given oldDT has been replaced with newDT
        TODO: This method is reserved for internal DB use and should be removed from the public DataType interface!!
        Specified by:
        dataTypeReplaced in interface DataType
        Overrides:
        dataTypeReplaced in class AbstractDataType
        Parameters:
        oldDt - old data type
        newDt - new data type
      • 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 and should be removed from the public DataType interface!!
        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
        Returns true 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.
      • getUniversalID

        public UniversalID getUniversalID()
        Description copied from interface: DataType
        Get the universal ID for this data type. This value is intended to be a unique identifier across all programs and archives. The same ID indicates that two data types 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:
        data type UniversalID
      • getLastChangeTime

        public long getLastChangeTime()
        Description copied from interface: DataType
        Get the timestamp corresponding to the last time this type was changed within its data type manager
        Specified by:
        getLastChangeTime in interface DataType
        Overrides:
        getLastChangeTime in class DataTypeImpl
        Returns:
        timestamp of last change within data type 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)