diff --git a/src/Java.Interop.Tools.TypeNameMappings/Java.Interop.Tools.TypeNameMappings/JavaNativeTypeManager.cs b/src/Java.Interop.Tools.TypeNameMappings/Java.Interop.Tools.TypeNameMappings/JavaNativeTypeManager.cs index 9d81e3804..17e895720 100644 --- a/src/Java.Interop.Tools.TypeNameMappings/Java.Interop.Tools.TypeNameMappings/JavaNativeTypeManager.cs +++ b/src/Java.Interop.Tools.TypeNameMappings/Java.Interop.Tools.TypeNameMappings/JavaNativeTypeManager.cs @@ -196,9 +196,9 @@ public static string ToJniName (Type type) // Trimming warnings are not enabled for netstandard2.0 in this project. static bool ShouldCheckSpecialExportJniType (Type type) => #if NETSTANDARD2_0 - type.GetInterfaces ().Any (t => t.FullName == "Java.Interop.IJavaPeerable"); + !type.GetInterfaces ().Any (t => t.FullName == "Java.Interop.IJavaPeerable"); #else - IJavaPeerableType.Value.IsAssignableFrom (type); + !IJavaPeerableType.Value.IsAssignableFrom (type); #endif public static string ToJniName (string jniType, int rank) diff --git a/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaNativeTypeManagerTests.cs b/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaNativeTypeManagerTests.cs index a86ff05f3..2c8e7b920 100644 --- a/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaNativeTypeManagerTests.cs +++ b/tests/Java.Interop.Tools.JavaCallableWrappers-Tests/Java.Interop.Tools.JavaCallableWrappers/JavaNativeTypeManagerTests.cs @@ -55,5 +55,14 @@ public void LowercaseWithAssemblyName () Assert.AreEqual ("assembly_mscorlib.system", JavaNativeTypeManager.GetPackageName (typeof (string))); #endif // !NET } + + [Test] + [TestCase (typeof (string), "java/lang/String")] + [TestCase (typeof (Type), "java/lang/Object")] + public void ToJniName (Type type, string expected) + { + string actual = JavaNativeTypeManager.ToJniName (type); + Assert.AreEqual (expected, actual); + } } }