Model: Base type of a pointer should be null

This commit is contained in:
Katy Coe
2019-11-05 17:09:15 +01:00
parent 45da7ab382
commit 8382df7cc9

View File

@@ -23,10 +23,11 @@ namespace Il2CppInspector.Reflection {
// Type that this type inherits from
private readonly int baseTypeUsage = -1;
public TypeInfo BaseType => baseTypeUsage != -1
? Assembly.Model.GetTypeFromUsage(baseTypeUsage, MemberTypes.TypeInfo)
: IsArray? Assembly.Model.TypesByDefinitionIndex.First(t => t.FullName == "System.Array")
: Namespace != "System" || BaseName != "Object" ? Assembly.Model.TypesByDefinitionIndex.First(t => t.FullName == "System.Object")
public TypeInfo BaseType => IsPointer? null :
baseTypeUsage != -1?
Assembly.Model.GetTypeFromUsage(baseTypeUsage, MemberTypes.TypeInfo)
: IsArray? Assembly.Model.TypesByDefinitionIndex.First(t => t.FullName == "System.Array")
: Namespace != "System" || BaseName != "Object" ? Assembly.Model.TypesByDefinitionIndex.First(t => t.FullName == "System.Object")
: null;
// True if the type contains unresolved generic type parameters