long == <int_literal> in Java converted to red code in Kotlin #KT-19393 Fixed

This commit is contained in:
Toshiaki Kameyama
2017-08-10 15:43:45 +09:00
committed by Simon Ogorodnik
parent 79ecc7fd5c
commit 905b8cc4e9
3 changed files with 16 additions and 1 deletions
@@ -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")
}
@@ -20,4 +20,9 @@ class A {
l2 = 10L
l4 = 10
}
void foo(long z) {
boolean b1 = z == 1;
boolean b2 = z != 1;
}
}
+6 -1
View File
@@ -20,4 +20,9 @@ internal class A {
l2 = 10L
l4 = 10
}
}
fun foo(z: Long) {
val b1 = z == 1L
val b2 = z != 1L
}
}