Fix for KT-5410 J2K: someObject + "someString" should be converted to someObject.toString() + "someString"

Otherwise `+` operator will not resolve
This commit is contained in:
Simon Ogorodnik
2016-10-14 17:35:01 +03:00
parent 0cebcc9f3c
commit 1069257e95
5 changed files with 87 additions and 0 deletions
@@ -0,0 +1,22 @@
public class Test {
public static class B {
public static class C {
}
public C c() {
return new C();
}
}
public void a() {
B b = new B();
System.out.println(b + "");
String a = 1 + "0";
System.out.println(b.c() + "");
}
public static void main(String[] args) {
String p = new Test() + "123";
}
}
@@ -0,0 +1,23 @@
class Test {
class B {
class C
fun c(): C {
return C()
}
}
fun a() {
val b = B()
println(b.toString() + "")
val a = 1.toString() + "0"
println(b.c().toString() + "")
}
companion object {
@JvmStatic fun main(args: Array<String>) {
val p = Test().toString() + "123"
}
}
}
@@ -553,6 +553,12 @@ public class JavaToKotlinConverterForWebDemoTestGenerated extends AbstractJavaTo
doTest(fileName);
}
@TestMetadata("lhsObjectPlusString.java")
public void testLhsObjectPlusString() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/binaryExpression/lhsObjectPlusString.java");
doTest(fileName);
}
@TestMetadata("minus.java")
public void testMinus() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/binaryExpression/minus.java");
@@ -553,6 +553,12 @@ public class JavaToKotlinConverterSingleFileTestGenerated extends AbstractJavaTo
doTest(fileName);
}
@TestMetadata("lhsObjectPlusString.java")
public void testLhsObjectPlusString() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/binaryExpression/lhsObjectPlusString.java");
doTest(fileName);
}
@TestMetadata("minus.java")
public void testMinus() throws Exception {
String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/fileOrElement/binaryExpression/minus.java");