diff --git a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt index 92dcef60175..a5c9a7babbd 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/ExpressionConverter.kt @@ -197,6 +197,8 @@ class DefaultExpressionConverter : JavaElementVisitor(), ExpressionConverter { is PsiPrimitiveType, is PsiArrayType -> return true is PsiClassType -> { + if (right?.type is PsiPrimitiveType) return true + val psiClass = type.resolve() ?: return false if (!psiClass.hasModifierProperty(PsiModifier.FINAL)) return false if (psiClass.isEnum) return true diff --git a/j2k/testData/fileOrElement/issues/kt-19634.java b/j2k/testData/fileOrElement/issues/kt-19634.java new file mode 100644 index 00000000000..cfca75d96ee --- /dev/null +++ b/j2k/testData/fileOrElement/issues/kt-19634.java @@ -0,0 +1,5 @@ +public class TestBoxedEqEqPrimitive { + public boolean test(Double value) { + return value == 3.14; + } +} \ No newline at end of file diff --git a/j2k/testData/fileOrElement/issues/kt-19634.kt b/j2k/testData/fileOrElement/issues/kt-19634.kt new file mode 100644 index 00000000000..4cb339d8e69 --- /dev/null +++ b/j2k/testData/fileOrElement/issues/kt-19634.kt @@ -0,0 +1,5 @@ +class TestBoxedEqEqPrimitive { + fun test(value: Double?): Boolean { + return value == 3.14 + } +} \ No newline at end of file diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java index c80914cfb80..6fb5d6b5390 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java +++ b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterForWebDemoTestGenerated.java @@ -2933,6 +2933,12 @@ public class JavaToKotlinConverterForWebDemoTestGenerated extends AbstractJavaTo doTest(fileName); } + @TestMetadata("kt-19634.java") + public void testKt_19634() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/issues/kt-19634.java"); + doTest(fileName); + } + @TestMetadata("kt-5294.java") public void testKt_5294() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/issues/kt-5294.java"); diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java index 7742532e810..3bf0bb1ec5d 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java +++ b/j2k/tests/org/jetbrains/kotlin/j2k/JavaToKotlinConverterSingleFileTestGenerated.java @@ -2933,6 +2933,12 @@ public class JavaToKotlinConverterSingleFileTestGenerated extends AbstractJavaTo doTest(fileName); } + @TestMetadata("kt-19634.java") + public void testKt_19634() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/issues/kt-19634.java"); + doTest(fileName); + } + @TestMetadata("kt-5294.java") public void testKt_5294() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/issues/kt-5294.java");