[Test] Properly merge box against java testdata into codegen/box

Previous commit about it was 3199ce03 and it was completely wrong
This commit is contained in:
Dmitriy Novozhilov
2021-02-04 10:43:33 +03:00
parent 21c493a854
commit 29b96aa15d
173 changed files with 120524 additions and 115185 deletions
@@ -0,0 +1,32 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: protectedPack/J.java
package protectedPack;
public class J {
protected String foo() {
return "fail";
}
}
// MODULE: main(lib)
// FILE: 1.kt
package protectedPackKotlin
import protectedPack.J
class Derived : J() {
protected override fun foo(): String? {
return "OK"
}
fun test(): String {
return foo()!!
}
}
fun box(): String {
return Derived().test()
}
@@ -0,0 +1,24 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: protectedPack/A.java
package protectedPack;
public class A {
protected final String field;
public A(String value) {
field = value;
}
}
// MODULE: main(lib)
// FILE: B.kt
import protectedPack.A
class B(value: String) : A(value) {
inner class C : A(field) {
val result = field
}
}
fun box(): String = B("OK").C().result
@@ -0,0 +1,20 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: protectedPack/J.java
package protectedPack;
public class J {
protected String foo() {
return "OK";
}
}
// MODULE: main(lib)
// FILE: 1.kt
package protectedPack
fun box(): String {
return J().foo()!!
}
@@ -0,0 +1,18 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: protectedPack/J.java
package protectedPack;
public class J {
protected String foo = "OK";
}
// MODULE: main(lib)
// FILE: 1.kt
package protectedPack
fun box(): String {
return J().foo!!
}
@@ -0,0 +1,22 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: protectedPack/J.java
package protectedPack;
public class J {
protected String foo = "OK";
}
// MODULE: main(lib)
// FILE: 1.kt
package protectedPack
inline fun foo(crossinline bar: () -> String) = object {
fun baz() = bar()
}.baz()
fun box(): String {
return foo { J().foo!! }
}
@@ -0,0 +1,28 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: protectedPack/J.java
package protectedPack;
public class J {
protected static class Inner {
public String foo() {
return "OK";
}
}
}
// MODULE: main(lib)
// FILE: 1.kt
package protectedPack
class Derived : J() {
fun test(): String {
return J.Inner().foo()!!
}
}
fun box(): String {
return Derived().test()
}
@@ -0,0 +1,22 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: test/Foo.java
package test;
public class Foo {
protected final String value;
protected Foo(String value) {
this.value = value;
}
}
// MODULE: main(lib)
// FILE: test.kt
import test.Foo
class Bar : Foo("OK") {
fun baz() = super.value
}
fun box(): String = Bar().baz()
@@ -0,0 +1,34 @@
// DONT_TARGET_EXACT_BACKEND: JS JS_IR JS_IR_ES6 WASM NATIVE
// MODULE: lib
// FILE: test/Foo.java
package test;
public class Foo {
protected void foo(Runnable r) {
r.run();
}
}
// MODULE: main(lib)
// FILE: test.kt
package other
import test.Foo
class Bar : Foo() {
fun bar() {
foo {}
foo(Runnable {})
// super.foo {}
super.foo(Runnable {})
this.foo {}
this.foo(Runnable {})
}
}
fun box(): String {
Bar().bar()
return "OK"
}