mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-05-26 01:55:52 +08:00
Merge remote-tracking branch
'origin/GP-1456_ghizard_array_of_enums_definition_processing' (Closes #3484)
This commit is contained in:
+9
@@ -120,6 +120,15 @@ public class ArrayTypeApplier extends MsTypeApplier {
|
||||
PdbApplicator.bigIntegerToLong(applicator, underlyingTypeApplier.getSize());
|
||||
DataType underlyingDataType = underlyingTypeApplier.getDataType();
|
||||
|
||||
if (underlyingDataType == null) {
|
||||
Long v = longUnderlyingSize;
|
||||
underlyingDataType = Undefined.getUndefinedDataType(v.intValue());
|
||||
String msg = "PDB Type index " + index + ":\n Null underlying data type for " +
|
||||
underlyingTypeApplier.getClass().getSimpleName() + ":\n " +
|
||||
underlyingTypeApplier + "\n Using " + underlyingDataType;
|
||||
Msg.warn(this, msg);
|
||||
}
|
||||
|
||||
if (longUnderlyingSize > Integer.MAX_VALUE) {
|
||||
String msg = "PDB " + type.getClass().getSimpleName() + ": Underlying type too large " +
|
||||
underlyingDataType.getName();
|
||||
|
||||
+6
@@ -109,6 +109,12 @@ public class EnumTypeApplier extends AbstractComplexTypeApplier {
|
||||
return getMsType().getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
DataType getDataType() {
|
||||
getOrCreateEnum();
|
||||
return dataType;
|
||||
}
|
||||
|
||||
private MsTypeApplier getUnderlyingTypeApplier() {
|
||||
MsTypeApplier under = null;
|
||||
MsTypeApplier applier = (definitionApplier != null) ? definitionApplier : this;
|
||||
|
||||
Reference in New Issue
Block a user