IL2CPP: Fix incorrect resolution of FieldRefs in MetadataUsages

This commit is contained in:
Katy Coe
2020-01-28 00:30:47 +01:00
parent 8a27b45775
commit aafbfc946d
4 changed files with 14 additions and 5 deletions

View File

@@ -143,11 +143,11 @@ namespace Il2CppInspector.Reflection
var method = MethodsByDefinitionIndex[usage.SourceIndex];
return $"{method.DeclaringType.Name}.{method.Name}";
case MetadataUsageType.FieldInfo:
var field = Package.Fields[usage.SourceIndex];
type = GetTypeFromUsage(field.typeIndex);
var fieldName = Package.Strings[field.nameIndex];
return $"{type.Name}.{fieldName}";
case MetadataUsageType.FieldInfo:
var fieldRef = Package.FieldRefs[usage.SourceIndex];
type = GetTypeFromUsage(fieldRef.typeIndex);
var field = type.DeclaredFields.First(f => f.Index == type.Definition.fieldStart + fieldRef.fieldIndex);
return $"{type.Name}.{field.Name}";
case MetadataUsageType.StringLiteral:
return Package.StringLiterals[usage.SourceIndex];