diff --git a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGenerator.cs b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGenerator.cs index 76f2bfc04..82ca7cefa 100644 --- a/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGenerator.cs +++ b/src/Java.Interop.Tools.JavaCallableWrappers/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGenerator.cs @@ -295,7 +295,7 @@ void AddConstructor (MethodDefinition ctor, TypeDefinition type, string? outerTy if (!string.IsNullOrEmpty (eattr.Name)) { // Diagnostic.Warning (log, "Use of ExportAttribute.Name property is invalid on constructors"); } - ctors.Add (new Signature (ctor, eattr, cache)); + ctors.Add (new Signature (ctor, eattr, managedParameters, cache)); curCtors.Add (ctor); return; } @@ -481,7 +481,7 @@ void AddMethod (MethodDefinition? registeredMethod, MethodDefinition implemented if (type.HasGenericParameters) Diagnostic.Error (4206, LookupSource (implementedMethod), Localization.Resources.JavaCallableWrappers_XA4206); - var msig = new Signature (implementedMethod, attr, cache); + var msig = new Signature (implementedMethod, attr, managedParameters: null, cache: cache); if (!string.IsNullOrEmpty (attr.SuperArgumentsString)) { // Diagnostic.Warning (log, "Use of ExportAttribute.SuperArgumentsString property is invalid on methods"); } @@ -834,7 +834,7 @@ public Signature (MethodDefinition method, RegisterAttribute register, string? m IsDynamicallyRegistered = shouldBeDynamicallyRegistered; } - public Signature (MethodDefinition method, ExportAttribute export, IMetadataResolver cache) + public Signature (MethodDefinition method, ExportAttribute export, string? managedParameters, IMetadataResolver cache) : this (method.Name, GetJniSignature (method, cache), "__export__", null, null, export.SuperArgumentsString) { IsExport = true; @@ -842,6 +842,7 @@ public Signature (MethodDefinition method, ExportAttribute export, IMetadataReso JavaAccess = JavaCallableWrapperGenerator.GetJavaAccess (method.Attributes & MethodAttributes.MemberAccessMask); ThrownTypeNames = export.ThrownNames; JavaNameOverride = export.Name; + ManagedParameters = managedParameters; Annotations = JavaCallableWrapperGenerator.GetAnnotationsString ("\t", method.CustomAttributes, cache); } diff --git a/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGeneratorTests.cs b/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGeneratorTests.cs index fa846a723..f20b37364 100644 --- a/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGeneratorTests.cs +++ b/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaCallableWrapperGeneratorTests.cs @@ -449,7 +449,7 @@ public ExportsConstructors (int p0) { super (p0); if (getClass () == ExportsConstructors.class) { - mono.android.TypeManager.Activate (""Xamarin.Android.ToolsTests.ExportsConstructors, Java.Interop.Tools.JavaCallableWrappers-Tests"", """", this, new java.lang.Object[] { p0 }); + mono.android.TypeManager.Activate (""Xamarin.Android.ToolsTests.ExportsConstructors, Java.Interop.Tools.JavaCallableWrappers-Tests"", ""System.Int32, System.Private.CoreLib"", this, new java.lang.Object[] { p0 }); } } @@ -505,7 +505,7 @@ public ExportsThrowsConstructors (int p0) throws java.lang.Throwable { super (p0); if (getClass () == ExportsThrowsConstructors.class) { - mono.android.TypeManager.Activate (""Xamarin.Android.ToolsTests.ExportsThrowsConstructors, Java.Interop.Tools.JavaCallableWrappers-Tests"", """", this, new java.lang.Object[] { p0 }); + mono.android.TypeManager.Activate (""Xamarin.Android.ToolsTests.ExportsThrowsConstructors, Java.Interop.Tools.JavaCallableWrappers-Tests"", ""System.Int32, System.Private.CoreLib"", this, new java.lang.Object[] { p0 }); } } @@ -514,7 +514,7 @@ public ExportsThrowsConstructors (java.lang.String p0) { super (p0); if (getClass () == ExportsThrowsConstructors.class) { - mono.android.TypeManager.Activate (""Xamarin.Android.ToolsTests.ExportsThrowsConstructors, Java.Interop.Tools.JavaCallableWrappers-Tests"", """", this, new java.lang.Object[] { p0 }); + mono.android.TypeManager.Activate (""Xamarin.Android.ToolsTests.ExportsThrowsConstructors, Java.Interop.Tools.JavaCallableWrappers-Tests"", ""System.String, System.Private.CoreLib"", this, new java.lang.Object[] { p0 }); } }