Output: Use Get*() methods where applicable instead of LINQ

This commit is contained in:
Katy Coe
2019-11-09 20:28:46 +01:00
parent 68dc57f541
commit 88a18997ee

View File

@@ -91,7 +91,7 @@ namespace Il2CppInspector
// Roll-up multicast delegates to use the 'delegate' syntactic sugar // Roll-up multicast delegates to use the 'delegate' syntactic sugar
if (type.IsClass && type.IsSealed && type.BaseType?.FullName == "System.MulticastDelegate") { if (type.IsClass && type.IsSealed && type.BaseType?.FullName == "System.MulticastDelegate") {
var del = type.DeclaredMethods.First(x => x.Name == "Invoke"); var del = type.GetMethod("Invoke");
// IL2CPP doesn't seem to retain return type attributes // IL2CPP doesn't seem to retain return type attributes
//writer.Write(del.ReturnType.CustomAttributes.ToString(prefix, "return: ")); //writer.Write(del.ReturnType.CustomAttributes.ToString(prefix, "return: "));
writer.Write($"delegate {del.ReturnType.CSharpName} {type.CSharpTypeDeclarationName}("); writer.Write($"delegate {del.ReturnType.CSharpName} {type.CSharpTypeDeclarationName}(");
@@ -176,8 +176,8 @@ namespace Il2CppInspector
if (field.IsPinvokeImpl) if (field.IsPinvokeImpl)
writer.Write("extern "); writer.Write("extern ");
if (field.GetCustomAttributes(FBAttribute).Any()) if (field.GetCustomAttributes(FBAttribute).Any())
writer.Write($"fixed /* {((ulong) field.CustomAttributes.First(a => a.AttributeType.FullName == FBAttribute).VirtualAddress).ToAddressString()} */" + writer.Write($"fixed /* {((ulong) field.GetCustomAttributes(FBAttribute)[0].VirtualAddress).ToAddressString()} */" +
$" {field.FieldType.DeclaredFields.First(f => f.Name == "FixedElementField").FieldType.CSharpName} {field.Name}[0]"); $" {field.FieldType.GetField("FixedElementField").FieldType.CSharpName} {field.Name}[0]");
else else
writer.Write($"{field.FieldType.CSharpName} {field.Name}"); writer.Write($"{field.FieldType.CSharpName} {field.Name}");
if (field.HasDefaultValue) if (field.HasDefaultValue)