Class RTTIDataType

All Implemented Interfaces:
BuiltInDataType, DataType, Dynamic, ExtensionPoint
Direct Known Subclasses:
RTTI0DataType, RTTI1DataType, RTTI2DataType, RTTI3DataType, RTTI4DataType

public abstract class RTTIDataType extends DynamicDataType
An abstract class that each RTTI data type should extend to get common functionality.
  • Constructor Details

    • RTTIDataType

      protected RTTIDataType(String name, DataTypeManager dtm)
      Creates an RTTI data type.
      Parameters:
      name - the name of the data type.
      dtm - the data type manager for this data type.
  • Method Details

    • isValid

      @Deprecated public boolean isValid(Program program, Address startAddress, boolean overwriteInstructions, boolean overwriteDefinedData)
      Deprecated.
      Determines if the data type is valid for placing at the indicated address in the program.
      Parameters:
      program - the program
      startAddress - the start address
      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 this data type can be laid down at the specified address.
      See Also:
    • convertValidationOptions

      protected DataValidationOptions convertValidationOptions(boolean overwriteInstructions, boolean overwriteDefinedData)
      Creates a DataValidationOptions object with the indicated settings for instructions and defined data. Other validation options will be set to the default values.
      Parameters:
      overwriteInstructions - true indicates it is valid to overwrite instructions
      overwriteDefinedData - true indicates it is valid to overwrite defined data
      Returns:
      the DataValidationOptions object
    • isValid

      public abstract boolean isValid(Program program, Address address, DataValidationOptions validationOptions)
      Determines if the data type is valid for placing at the indicated address in the program.
      Parameters:
      program - the program
      address - 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