From 905b8cc4e930a7d99203cc3086b50860fb8f9734 Mon Sep 17 00:00:00 2001 From: Toshiaki Kameyama Date: Thu, 10 Aug 2017 15:43:45 +0900 Subject: [PATCH] long == in Java converted to red code in Kotlin #KT-19393 Fixed --- j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt | 5 +++++ j2k/testData/fileOrElement/literalExpression/long.java | 5 +++++ j2k/testData/fileOrElement/literalExpression/long.kt | 7 ++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt b/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt index cd298f19ae1..402023715f4 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/CodeConverter.kt @@ -130,6 +130,11 @@ class CodeConverter( } convertedExpression = LiteralExpression(text) } + else if (expectedTypeStr == "long") { + if (expression.parent is PsiBinaryExpression) { + convertedExpression = LiteralExpression("${convertedExpression.canonicalCode()}L") + } + } else if (expectedTypeStr == "char") { convertedExpression = MethodCallExpression.buildNonNull(convertedExpression, "toChar") } diff --git a/j2k/testData/fileOrElement/literalExpression/long.java b/j2k/testData/fileOrElement/literalExpression/long.java index fdb76ce58af..e64654c13fe 100644 --- a/j2k/testData/fileOrElement/literalExpression/long.java +++ b/j2k/testData/fileOrElement/literalExpression/long.java @@ -20,4 +20,9 @@ class A { l2 = 10L l4 = 10 } + + void foo(long z) { + boolean b1 = z == 1; + boolean b2 = z != 1; + } } \ No newline at end of file diff --git a/j2k/testData/fileOrElement/literalExpression/long.kt b/j2k/testData/fileOrElement/literalExpression/long.kt index f71a84beb4c..506db9a32fc 100644 --- a/j2k/testData/fileOrElement/literalExpression/long.kt +++ b/j2k/testData/fileOrElement/literalExpression/long.kt @@ -20,4 +20,9 @@ internal class A { l2 = 10L l4 = 10 } -} + + fun foo(z: Long) { + val b1 = z == 1L + val b2 = z != 1L + } +} \ No newline at end of file