mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
Corrected test failures. Changed Composite and Pointer toString
implementations to dump components using getName() instead of getDisplayName() which lacks sufficient details.
This commit is contained in:
parent
9c1fc2514b
commit
38898b91b9
10 changed files with 57 additions and 42 deletions
|
@ -672,7 +672,7 @@ abstract class CompositeDB extends DataTypeDB implements Composite {
|
|||
for (DataTypeComponent dtc : getComponents()) {
|
||||
DataType dataType = dtc.getDataType();
|
||||
buffer.append(pad + dtc.getOffset());
|
||||
buffer.append(pad + dataType.getDisplayName());
|
||||
buffer.append(pad + dataType.getName());
|
||||
if (dataType instanceof BitFieldDataType) {
|
||||
BitFieldDataType bfDt = (BitFieldDataType) dataType;
|
||||
buffer.append("(");
|
||||
|
|
|
@ -460,7 +460,7 @@ class DataTypeComponentDB implements InternalDataTypeComponent {
|
|||
buffer.append(" " + getOrdinal());
|
||||
buffer.append(" " + getOffset());
|
||||
DataType dt = getDataType();
|
||||
buffer.append(" " + dt.getDisplayName());
|
||||
buffer.append(" " + dt.getName());
|
||||
if (isFlexibleArrayComponent) {
|
||||
buffer.append("[0]");
|
||||
}
|
||||
|
|
|
@ -66,21 +66,19 @@ class PointerDB extends DataTypeDB implements Pointer {
|
|||
|
||||
@Override
|
||||
protected String doGetName() {
|
||||
String pointerName = PointerDataType.POINTER_NAME;
|
||||
DataType dt = getDataType();
|
||||
int storedLen = record.getByteValue(PointerDBAdapter.PTR_LENGTH_COL); // -1 indicates default size
|
||||
// -1 length indicates default size from data organization
|
||||
int storedLen = record.getByteValue(PointerDBAdapter.PTR_LENGTH_COL);
|
||||
String lenStr = storedLen > 0 ? Integer.toString(storedLen * 8) : "";
|
||||
if (dt == null) {
|
||||
if (storedLen > 0) {
|
||||
pointerName += Integer.toString(storedLen * 8);
|
||||
}
|
||||
return PointerDataType.POINTER_NAME + lenStr;
|
||||
}
|
||||
else {
|
||||
pointerName = dt.getName() + " *";
|
||||
if (storedLen > 0) {
|
||||
pointerName += Integer.toString(storedLen * 8);
|
||||
}
|
||||
}
|
||||
return pointerName;
|
||||
return dt.getName() + " *" + lenStr;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getName(); // always include pointer length
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -137,6 +135,7 @@ class PointerDB extends DataTypeDB implements Pointer {
|
|||
|
||||
@Override
|
||||
public String getDisplayName() {
|
||||
// NOTE: Pointer display name only specifies length if null base type
|
||||
validate(lock);
|
||||
String localDisplayName = displayName;
|
||||
if (localDisplayName == null) {
|
||||
|
|
|
@ -380,7 +380,7 @@ public abstract class CompositeDataTypeImpl extends GenericDataType implements C
|
|||
for (DataTypeComponent dtc : getComponents()) {
|
||||
DataType dataType = dtc.getDataType();
|
||||
buffer.append(pad + dtc.getOffset());
|
||||
buffer.append(pad + dataType.getDisplayName());
|
||||
buffer.append(pad + dataType.getName());
|
||||
if (dataType instanceof BitFieldDataType) {
|
||||
BitFieldDataType bfDt = (BitFieldDataType) dataType;
|
||||
buffer.append("(");
|
||||
|
|
|
@ -357,7 +357,7 @@ public class DataTypeComponentImpl implements InternalDataTypeComponent, Seriali
|
|||
StringBuffer buffer = new StringBuffer();
|
||||
buffer.append(" " + ordinal);
|
||||
buffer.append(" " + offset);
|
||||
buffer.append(" " + dataType.getDisplayName());
|
||||
buffer.append(" " + dataType.getName());
|
||||
if (isFlexibleArrayComponent) {
|
||||
buffer.append("[ ]");
|
||||
}
|
||||
|
|
|
@ -253,6 +253,7 @@ public class PointerDataType extends BuiltIn implements Pointer {
|
|||
|
||||
@Override
|
||||
public String getDisplayName() {
|
||||
// NOTE: Pointer display name only specifies length if null base type
|
||||
if (displayName == null) {
|
||||
DataType dt = getDataType();
|
||||
if (dt == null) {
|
||||
|
@ -582,4 +583,9 @@ public class PointerDataType extends BuiltIn implements Pointer {
|
|||
}
|
||||
return super.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return getName(); // always include pointer length
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue