Model: Add MethodImplementationFlags

This commit is contained in:
Katy Coe
2021-01-07 23:11:10 +01:00
parent e9a66b98d4
commit a007b128fb

View File

@@ -32,6 +32,8 @@ namespace Il2CppInspector.Reflection
// Information/flags about the method // Information/flags about the method
public MethodAttributes Attributes { get; protected set; } public MethodAttributes Attributes { get; protected set; }
public MethodImplAttributes MethodImplementationFlags { get; protected set; }
// Custom attributes for this member // Custom attributes for this member
public override IEnumerable<CustomAttributeData> CustomAttributes => CustomAttributeData.GetCustomAttributes(rootDefinition); public override IEnumerable<CustomAttributeData> CustomAttributes => CustomAttributeData.GetCustomAttributes(rootDefinition);
@@ -140,6 +142,7 @@ namespace Il2CppInspector.Reflection
// Copy attributes // Copy attributes
Attributes = (MethodAttributes) Definition.flags; Attributes = (MethodAttributes) Definition.flags;
MethodImplementationFlags = (MethodImplAttributes) Definition.iflags;
// Add arguments // Add arguments
for (var p = Definition.parameterStart; p < Definition.parameterStart + Definition.parameterCount; p++) for (var p = Definition.parameterStart; p < Definition.parameterStart + Definition.parameterCount; p++)
@@ -153,6 +156,7 @@ namespace Il2CppInspector.Reflection
rootDefinition = methodDef; rootDefinition = methodDef;
Name = methodDef.Name; Name = methodDef.Name;
Attributes = methodDef.Attributes; Attributes = methodDef.Attributes;
MethodImplementationFlags = methodDef.MethodImplementationFlags;
VirtualAddress = methodDef.VirtualAddress; VirtualAddress = methodDef.VirtualAddress;
IsGenericMethod = methodDef.IsGenericMethod; IsGenericMethod = methodDef.IsGenericMethod;
@@ -175,6 +179,7 @@ namespace Il2CppInspector.Reflection
genericMethodDefinition = methodDef; genericMethodDefinition = methodDef;
Name = methodDef.Name; Name = methodDef.Name;
Attributes = methodDef.Attributes; Attributes = methodDef.Attributes;
MethodImplementationFlags = methodDef.MethodImplementationFlags;
VirtualAddress = methodDef.VirtualAddress; VirtualAddress = methodDef.VirtualAddress;
IsGenericMethod = true; IsGenericMethod = true;