GP-3263 - Fixed exception in data type finder

This commit is contained in:
dragonmacher 2023-03-27 09:44:35 -04:00
parent 0709537f72
commit 750cfc6994

View File

@ -156,15 +156,20 @@ public abstract class DecompilerReference {
public static DataType getFieldDataType(ClangFieldToken field) {
DataType fieldDt = field.getDataType();
fieldDt = DecompilerReference.getBaseType(fieldDt);
if (fieldDt instanceof Structure) {
Structure parent = (Structure) fieldDt;
int offset = field.getOffset();
int n = parent.getLength();
if (offset >= 0 && offset < n) {
DataTypeComponent dtc = parent.getComponentContaining(field.getOffset());
if (!(fieldDt instanceof Structure)) {
return fieldDt;
}
Structure parent = (Structure) fieldDt;
int offset = field.getOffset();
int n = parent.getLength();
if (offset >= 0 && offset < n) {
DataTypeComponent dtc = parent.getComponentContaining(field.getOffset());
if (dtc != null) {
fieldDt = dtc.getDataType();
}
}
return fieldDt;
}