DLL: Fix bug with parameter default values

This commit is contained in:
Katy Coe
2021-01-10 12:56:05 +01:00
parent 7619e2992e
commit 1cf0fc8c54

View File

@@ -323,14 +323,12 @@ namespace Il2CppInspector.Outputs
foreach (var param in method.DeclaredParameters) { foreach (var param in method.DeclaredParameters) {
var p = new ParamDefUser(param.Name, (ushort) (param.Position + 1), (ParamAttributes) param.Attributes); var p = new ParamDefUser(param.Name, (ushort) (param.Position + 1), (ParamAttributes) param.Attributes);
if (param.DefaultValueMetadataAddress != 0) { if (param.HasDefaultValue)
if (param.HasDefaultValue) p.Constant = new ConstantUser(param.DefaultValue);
p.Constant = new ConstantUser(param.DefaultValue);
// Add offset attribute if no default value but metadata present // Add offset attribute if metadata present
else if (param.DefaultValueMetadataAddress != 0)
p.AddAttribute(module, metadataOffsetAttribute, ("Offset", $"0x{param.DefaultValueMetadataAddress:X8}")); p.AddAttribute(module, metadataOffsetAttribute, ("Offset", $"0x{param.DefaultValueMetadataAddress:X8}"));
}
// Add custom attribute attributes // Add custom attribute attributes
foreach (var ca in param.CustomAttributes) foreach (var ca in param.CustomAttributes)