StructureDataType

Package: ghidra.program.model.data
Type: class

11.4_PUBLIC

modifiedmethod: dataTypeReplaced
param 2 renamed: replacementDt → newDt
- void dataTypeReplaced(ghidra.program.model.data.DataType oldDt, ghidra.program.model.data.DataType replacementDt) throws IllegalArgumentException
+ void dataTypeReplaced(ghidra.program.model.data.DataType oldDt, ghidra.program.model.data.DataType newDt) throws IllegalArgumentException

11.2_PUBLIC

addedmethod: setLength
void setLength(int len)

10.2.1_PUBLIC

modifiedmethod: replaceAtOffset
param 4 renamed: name → componentName
- ghidra.program.model.data.DataTypeComponent replaceAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String name, java.lang.String comment) throws IllegalArgumentException
+ ghidra.program.model.data.DataTypeComponent replaceAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IllegalArgumentException

10.1_PUBLIC

addedmethod: clearAtOffset
void clearAtOffset(int offset)
addedmethod: getComponentContaining
ghidra.program.model.data.DataTypeComponent getComponentContaining(int offset)
addedmethod: getComponentsContaining
java.util.List<ghidra.program.model.data.DataTypeComponent> getComponentsContaining(int offset)
addedmethod: getDefinedComponentAtOrAfterOffset
ghidra.program.model.data.DataTypeComponent getDefinedComponentAtOrAfterOffset(int offset)
modifiedmethod: getComponent
param 1 renamed: index → ordinal; return type: DataTypeComponent → DataTypeComponentImpl
- ghidra.program.model.data.DataTypeComponent getComponent(int index)
+ ghidra.program.model.data.DataTypeComponentImpl getComponent(int ordinal)
modifiedmethod: insert
param 1 renamed: index → ordinal
- ghidra.program.model.data.DataTypeComponent insert(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IndexOutOfBoundsException, IllegalArgumentException
+ ghidra.program.model.data.DataTypeComponent insert(int ordinal, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IndexOutOfBoundsException, IllegalArgumentException
modifiedmethod: replace
param 1 renamed: index → ordinal
- ghidra.program.model.data.DataTypeComponent replace(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IndexOutOfBoundsException, IllegalArgumentException
+ ghidra.program.model.data.DataTypeComponent replace(int ordinal, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IndexOutOfBoundsException, IllegalArgumentException
modifiedmethod: replaceAtOffset
param 4 renamed: componentName → name
- ghidra.program.model.data.DataTypeComponent replaceAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IllegalArgumentException
+ ghidra.program.model.data.DataTypeComponent replaceAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String name, java.lang.String comment) throws IllegalArgumentException
removedmethod: clearFlexibleArrayComponent
void clearFlexibleArrayComponent()
removedmethod: getComponentAt
ghidra.program.model.data.DataTypeComponent getComponentAt(int offset)
removedmethod: getFlexibleArrayComponent
ghidra.program.model.data.DataTypeComponent getFlexibleArrayComponent()
removedmethod: getPreferredComponentLength
int getPreferredComponentLength(ghidra.program.model.data.DataType dataType, int length)
removedmethod: hasFlexibleArrayComponent
boolean hasFlexibleArrayComponent()
removedmethod: isNotYetDefined
boolean isNotYetDefined()
removedmethod: setFlexibleArrayComponent
ghidra.program.model.data.DataTypeComponent setFlexibleArrayComponent(ghidra.program.model.data.DataType flexType, java.lang.String name, java.lang.String comment)

10.0_PUBLIC

addedmethod: getPreferredComponentLength
int getPreferredComponentLength(ghidra.program.model.data.DataType dataType, int length)
addedmethod: hasLanguageDependantLength
boolean hasLanguageDependantLength()
addedmethod: isZeroLength
boolean isZeroLength()
addedmethod: repack
boolean repack(boolean notify)
modifiedmethod: clearComponent
param 1 renamed: index → ordinal
- void clearComponent(int index)
+ void clearComponent(int ordinal)
modifiedmethod: insert
added throws IndexOutOfBoundsException; removed throws ArrayIndexOutOfBoundsException
- ghidra.program.model.data.DataTypeComponent insert(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws ArrayIndexOutOfBoundsException, IllegalArgumentException
+ ghidra.program.model.data.DataTypeComponent insert(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IndexOutOfBoundsException, IllegalArgumentException
modifiedmethod: insertBitField
added throws IndexOutOfBoundsException; removed throws ArrayIndexOutOfBoundsException
- ghidra.program.model.data.DataTypeComponent insertBitField(int ordinal, int byteWidth, int bitOffset, ghidra.program.model.data.DataType baseDataType, int bitSize, java.lang.String componentName, java.lang.String comment) throws InvalidDataTypeException, ArrayIndexOutOfBoundsException
+ ghidra.program.model.data.DataTypeComponent insertBitField(int ordinal, int byteWidth, int bitOffset, ghidra.program.model.data.DataType baseDataType, int bitSize, java.lang.String componentName, java.lang.String comment) throws InvalidDataTypeException, IndexOutOfBoundsException
modifiedmethod: replace
added throws IndexOutOfBoundsException; removed throws ArrayIndexOutOfBoundsException
- ghidra.program.model.data.DataTypeComponent replace(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws ArrayIndexOutOfBoundsException, IllegalArgumentException
+ ghidra.program.model.data.DataTypeComponent replace(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IndexOutOfBoundsException, IllegalArgumentException
modifiedtype-implements: StructureDataType
- ghidra.program.model.data.Structure
+ ghidra.program.model.data.StructureInternal
removedmethod: adjustComponents
boolean adjustComponents()
removedmethod: adjustInternalAlignment
void adjustInternalAlignment()
removedfield: bitOffsetComparatorBE
static java.util.Comparator<java.lang.Object> bitOffsetComparatorBE
removedfield: bitOffsetComparatorLE
static java.util.Comparator<java.lang.Object> bitOffsetComparatorLE
removedmethod: dataTypeNameChanged
void dataTypeNameChanged(ghidra.program.model.data.DataType dt, java.lang.String oldName)
removedmethod: delete
void delete(int[] ordinals)
removedmethod: dumpComponents
void dumpComponents(java.lang.StringBuilder buffer, java.lang.String pad)
removedfield: offsetComparator
static java.util.Comparator<java.lang.Object> offsetComparator
removedmethod: pack
void pack(int packingSize)
removedmethod: realign
void realign()

9.2_PUBLIC

modifiedmethod: clone
return type: DataType → StructureDataType
- ghidra.program.model.data.DataType clone(ghidra.program.model.data.DataTypeManager dtm)
+ ghidra.program.model.data.StructureDataType clone(ghidra.program.model.data.DataTypeManager dtm)
modifiedmethod: dataTypeReplaced
added throws IllegalArgumentException
- void dataTypeReplaced(ghidra.program.model.data.DataType oldDt, ghidra.program.model.data.DataType replacementDt)
+ void dataTypeReplaced(ghidra.program.model.data.DataType oldDt, ghidra.program.model.data.DataType replacementDt) throws IllegalArgumentException
modifiedmethod: insert
added throws ArrayIndexOutOfBoundsException; added throws IllegalArgumentException
- ghidra.program.model.data.DataTypeComponent insert(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment)
+ ghidra.program.model.data.DataTypeComponent insert(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws ArrayIndexOutOfBoundsException, IllegalArgumentException
modifiedmethod: insertAtOffset
added throws IllegalArgumentException
- ghidra.program.model.data.DataTypeComponentImpl insertAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment)
+ ghidra.program.model.data.DataTypeComponentImpl insertAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IllegalArgumentException
modifiedmethod: pack
removed throws InvalidInputException
- void pack(int packingSize) throws InvalidInputException
+ void pack(int packingSize)
modifiedmethod: replace
added throws ArrayIndexOutOfBoundsException; added throws IllegalArgumentException
- ghidra.program.model.data.DataTypeComponent replace(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment)
+ ghidra.program.model.data.DataTypeComponent replace(int index, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws ArrayIndexOutOfBoundsException, IllegalArgumentException
modifiedmethod: replaceAtOffset
added throws IllegalArgumentException
- ghidra.program.model.data.DataTypeComponent replaceAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment)
+ ghidra.program.model.data.DataTypeComponent replaceAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment) throws IllegalArgumentException

9.1.2_PUBLIC

modifiedmethod: insertBitFieldAt
return type: DataTypeComponent → DataTypeComponentImpl
- ghidra.program.model.data.DataTypeComponent insertBitFieldAt(int byteOffset, int byteWidth, int bitOffset, ghidra.program.model.data.DataType baseDataType, int bitSize, java.lang.String componentName, java.lang.String comment) throws InvalidDataTypeException
+ ghidra.program.model.data.DataTypeComponentImpl insertBitFieldAt(int byteOffset, int byteWidth, int bitOffset, ghidra.program.model.data.DataType baseDataType, int bitSize, java.lang.String componentName, java.lang.String comment) throws InvalidDataTypeException

9.1_PUBLIC

addedmethod: addBitField
ghidra.program.model.data.DataTypeComponent addBitField(ghidra.program.model.data.DataType baseDataType, int bitSize, java.lang.String componentName, java.lang.String comment) throws InvalidDataTypeException
addedfield: bitOffsetComparatorBE
static java.util.Comparator<java.lang.Object> bitOffsetComparatorBE
addedfield: bitOffsetComparatorLE
static java.util.Comparator<java.lang.Object> bitOffsetComparatorLE
addedmethod: getAlignment
int getAlignment()
addedmethod: insertBitField
ghidra.program.model.data.DataTypeComponent insertBitField(int ordinal, int byteWidth, int bitOffset, ghidra.program.model.data.DataType baseDataType, int bitSize, java.lang.String componentName, java.lang.String comment) throws InvalidDataTypeException, ArrayIndexOutOfBoundsException
addedmethod: insertBitFieldAt
ghidra.program.model.data.DataTypeComponent insertBitFieldAt(int byteOffset, int byteWidth, int bitOffset, ghidra.program.model.data.DataType baseDataType, int bitSize, java.lang.String componentName, java.lang.String comment) throws InvalidDataTypeException
addedmethod: shiftOffset
void shiftOffset(ghidra.program.model.data.DataTypeComponentImpl dtc, int deltaOrdinal, int deltaOffset)
modifiedmethod: dataTypeReplaced
param 2 renamed: newDt → replacementDt
- void dataTypeReplaced(ghidra.program.model.data.DataType oldDt, ghidra.program.model.data.DataType newDt)
+ void dataTypeReplaced(ghidra.program.model.data.DataType oldDt, ghidra.program.model.data.DataType replacementDt)
modifiedmethod: delete
param 1 renamed: index → ordinal
- void delete(int index)
+ void delete(int ordinal)
modifiedmethod: insertAtOffset
return type: DataTypeComponent → DataTypeComponentImpl
- ghidra.program.model.data.DataTypeComponent insertAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length)
+ ghidra.program.model.data.DataTypeComponentImpl insertAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length)
modifiedmethod: insertAtOffset
return type: DataTypeComponent → DataTypeComponentImpl
- ghidra.program.model.data.DataTypeComponent insertAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment)
+ ghidra.program.model.data.DataTypeComponentImpl insertAtOffset(int offset, ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment)
removedmethod: add
void add(ghidra.program.model.data.DataType dataType, int length, java.lang.String componentName, java.lang.String comment, int numCopies)
removedmethod: insert
void insert(int ordinal, ghidra.program.model.data.DataType dataType, int length, java.lang.String name, java.lang.String comment, int numCopies)
removedmethod: shiftOffsets
void shiftOffsets(ghidra.program.model.data.DataTypeComponentImpl dtc, int deltaOrdinal, int deltaOffset)

9.0.2_PUBLIC

addedmethod: adjustComponents
boolean adjustComponents()
addedfield: components
java.util.List<ghidra.program.model.data.DataTypeComponentImpl> components
addedmethod: dumpComponents
void dumpComponents(java.lang.StringBuilder buffer, java.lang.String pad)
addedmethod: getNumUndefinedBytes
int getNumUndefinedBytes(int index)
addedfield: numComponents
int numComponents
addedfield: offsetComparator
static java.util.Comparator<java.lang.Object> offsetComparator
addedmethod: shiftOffsets
void shiftOffsets(ghidra.program.model.data.DataTypeComponentImpl dtc, int deltaOrdinal, int deltaOffset)
addedfield: structLength
int structLength

9.0.1_PUBLIC

introducedInitial version