Class RTTI2DataType

  • All Implemented Interfaces:
    BuiltInDataType, DataType, Dynamic, ExtensionPoint, java.util.EventListener, javax.swing.event.ChangeListener

    @Deprecated
    public class RTTI2DataType
    extends RTTIDataType
    Deprecated.
    Use of this dynamic data type class is no longer recommended. Instead an array of either pointers or displacements to BaseClassDescriptor structures can be obtained using the Rtti2Model.
    The RTTI2 data type represents an array of either pointers or displacements to the BaseClassDescriptors (RTTI 1s) for a class.

    Fields for this RunTimeTypeInformation structure can be found on http://www.openrce.org

    RTTI_Base_Class_Array is the label for the RTTI2 data structure.

    • Constructor Detail

      • RTTI2DataType

        public RTTI2DataType()
        Deprecated.
        Creates a dynamic Base Class Array data type.
      • RTTI2DataType

        public RTTI2DataType​(long rtti1Count)
        Deprecated.
        Creates a dynamic Base Class Array data type.
        Parameters:
        rtti1Count - the number of rtti1 refs
      • RTTI2DataType

        public RTTI2DataType​(DataTypeManager dtm)
        Deprecated.
        Creates a dynamic Base Class Array data type.
        Parameters:
        dtm - the data type manager for this data type.
      • RTTI2DataType

        public RTTI2DataType​(long rtti1Count,
                             DataTypeManager dtm)
        Deprecated.
        Creates a dynamic Base Class Array data type.
        Parameters:
        rtti1Count - the number of rtti1 refs
        dtm - the data type manager for this data type.
    • Method Detail

      • clone

        public DataType clone​(DataTypeManager dtm)
        Deprecated.
        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.
        Parameters:
        dtm - the data-type manager instance whose data-organization should apply.
      • getDescription

        public java.lang.String getDescription()
        Deprecated.
        Description copied from interface: DataType
        Get a String briefly describing this DataType.
        Returns:
        a one-liner describing this DataType.
      • getRepresentation

        public java.lang.String getRepresentation​(MemBuffer buf,
                                                  Settings settings,
                                                  int length)
        Deprecated.
        Description copied from interface: DataType
        Get bytes from memory in a printable format for this type.
        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.
      • getValue

        public java.lang.Object getValue​(MemBuffer buf,
                                         Settings settings,
                                         int length)
        Deprecated.
        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
        Parameters:
        buf - the data buffer.
        settings - the settings to use.
        length - the number of bytes to get the value from.
        Returns:
        the data Object.
      • getLength

        public int getLength​(Memory memory,
                             Address address,
                             byte[] bytes)
        Deprecated.
        Gets the total length of the data created when this data type is placed at the indicated address in memory.
        Parameters:
        memory - the program memory for this data.
        address - the start address of the data.
        bytes - the bytes for this data.
        Returns:
        the length of the data. zero is returned if valid data can't be created at the indicated address using this data type.
      • getRtti1Address

        public Address getRtti1Address​(Memory memory,
                                       Address rtti2Address,
                                       int rtti1Index)
        Deprecated.
        Gets address referred to by the RTTI 1 pointer at the specified index in the RTTI2's array that is at the rtti2Address.
        Parameters:
        memory - the program memory containing the RTTI 2
        rtti2Address - the address of the RTTI 2
        rtti1Index - the index of RTTI 1 entry in the RTTI 2 array
        Returns:
        the address of the RTTI 1 referred to by the indexed array element.
      • getRtti1Address

        public Address getRtti1Address​(Program program,
                                       Address rtti2Address,
                                       int rtti1Index)
        Deprecated.
        Gets address referred to by the RTTI 1 pointer at the specified index in the RTTI2's array that is at the rtti2Address.
        Parameters:
        program - the program containing the RTTI 2
        rtti2Address - the address of the RTTI 2
        rtti1Index - the index of RTTI 1 entry in the RTTI 2 array
        Returns:
        the address of the RTTI 1 referred to by the indexed array element.
      • isValidRtti1Pointer

        public boolean isValidRtti1Pointer​(Program program,
                                           Address startAddress,
                                           int pointerIndex,
                                           boolean overwriteInstructions,
                                           boolean overwriteDefinedData)
        Deprecated.
        Determines if the RTTI 1 pointer in the RTTI2 structure is valid.
        Parameters:
        program - the program
        startAddress - the address of the RTTI 2 structure
        pointerIndex - index of the element in the array that makes up the RTTI 2.
        overwriteInstructions - true indicates that existing instructions can be overwritten by this data type.
        overwriteDefinedData - true indicates that existing defined data can be overwritten by this data type.
        Returns:
        true if the indicated RTTI1 pointer is valid.
      • isValidRtti1Pointer

        public boolean isValidRtti1Pointer​(Program program,
                                           Address startAddress,
                                           int pointerIndex,
                                           DataValidationOptions validationOptions)
        Deprecated.
        Determines if the RTTI 1 pointer in the RTTI2 structure is valid.
        Parameters:
        program - the program
        startAddress - the address of the RTTI 2 structure
        pointerIndex - index of the element in the array that makes up the RTTI 2.
        validationOptions - options indicating how to perform the validation
        Returns:
        true if the indicated RTTI1 pointer is valid.
      • isValid

        public boolean isValid​(Program program,
                               Address startAddress,
                               DataValidationOptions validationOptions)
        Deprecated.
        Description copied from class: RTTIDataType
        Determines if the data type is valid for placing at the indicated address in the program.
        Specified by:
        isValid in class RTTIDataType
        Parameters:
        program - the program
        startAddress - the address where the validated data type will be used to create data
        validationOptions - options indicating how to perform the validation
        Returns:
        true if this data type can be laid down at the specified address
      • getDefaultLabelPrefix

        public java.lang.String getDefaultLabelPrefix()
        Deprecated.
        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.