diff --git a/tools/common/StaticRegistrar.cs b/tools/common/StaticRegistrar.cs index 13a8202853a6..b2895088745e 100644 --- a/tools/common/StaticRegistrar.cs +++ b/tools/common/StaticRegistrar.cs @@ -3397,6 +3397,14 @@ public void GeneratePInvokeWrappersEnd () FlushTrace (); } + static string GetParamName (MethodDefinition method, int i) + { + var p = method.Parameters [i]; + if (p.Name != null) + return p.Name; + return "__p__" + i.ToString (); + } + public void GeneratePInvokeWrapper (PInvokeWrapperGenerator state, MethodDefinition method) { var signatures = state.signatures; @@ -3456,7 +3464,7 @@ public void GeneratePInvokeWrapper (PInvokeWrapperGenerator state, MethodDefinit sb.Write (", "); sb.Write (ToObjCParameterType (method.Parameters[i].ParameterType, descriptiveMethodName, exceptions, method)); sb.Write (" "); - sb.Write (method.Parameters[i].Name); + sb.Write (GetParamName (method, i)); } sb.WriteLine (");"); @@ -3468,7 +3476,7 @@ public void GeneratePInvokeWrapper (PInvokeWrapperGenerator state, MethodDefinit sb.Write (", "); sb.Write (ToObjCParameterType (method.Parameters[i].ParameterType, descriptiveMethodName, exceptions, method)); sb.Write (" "); - sb.Write (method.Parameters [i].Name); + sb.Write (GetParamName (method, i)); } sb.WriteLine (")"); sb.WriteLine ("{"); @@ -3479,7 +3487,7 @@ public void GeneratePInvokeWrapper (PInvokeWrapperGenerator state, MethodDefinit for (int i = first_parameter; i < method.Parameters.Count; i++) { if (i > first_parameter) sb.Write (", "); - sb.Write (method.Parameters [i].Name); + sb.Write (GetParamName (method, i)); } sb.WriteLine (");"); sb.WriteLine ("} @catch (NSException *exc) {");