Fix header generation when a struct contains an enum pointer

This commit is contained in:
LukeFZ
2023-12-07 20:53:03 +01:00
parent 1d2890961c
commit ef56ebbd2f

View File

@@ -118,9 +118,13 @@ namespace Il2CppInspector.Cpp
if (ti.IsEnum) if (ti.IsEnum)
VisitFieldStructs(ti.GetEnumUnderlyingType()); VisitFieldStructs(ti.GetEnumUnderlyingType());
foreach (var fi in ti.DeclaredFields) foreach (var fi in ti.DeclaredFields.Where(fi => !fi.IsStatic && !fi.IsLiteral))
if (!fi.IsStatic && !fi.IsLiteral && (fi.FieldType.IsEnum || fi.FieldType.IsValueType)) {
if (fi.FieldType.IsEnum || fi.FieldType.IsValueType)
VisitFieldStructs(fi.FieldType); VisitFieldStructs(fi.FieldType);
else if (fi.FieldType.HasElementType)
VisitFieldStructs(fi.FieldType.ElementType);
}
TodoFieldStructs.Add(ti); TodoFieldStructs.Add(ti);
} }