[JS IR] Review remarks

- Move origin to common place
- Add comments and todo about solution
- Remove MODULE directive from tests
- Add test with in-place using of js function
This commit is contained in:
Ilya Goncharov
2021-05-14 13:27:08 +03:00
committed by TeamCityServer
parent 507516e44d
commit 74d1812461
10 changed files with 66 additions and 10 deletions
@@ -7136,6 +7136,11 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test {
runTest("js/js.translator/testData/box/reflection/kClassWithJsCall.kt");
}
@TestMetadata("kJsClassWithJsCall.kt")
public void testKJsClassWithJsCall() throws Exception {
runTest("js/js.translator/testData/box/reflection/kJsClassWithJsCall.kt");
}
@TestMetadata("kTypeWithJsCall.kt")
public void testKTypeWithJsCall() throws Exception {
runTest("js/js.translator/testData/box/reflection/kTypeWithJsCall.kt");
@@ -7136,6 +7136,11 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest {
runTest("js/js.translator/testData/box/reflection/kClassWithJsCall.kt");
}
@TestMetadata("kJsClassWithJsCall.kt")
public void testKJsClassWithJsCall() throws Exception {
runTest("js/js.translator/testData/box/reflection/kJsClassWithJsCall.kt");
}
@TestMetadata("kTypeWithJsCall.kt")
public void testKTypeWithJsCall() throws Exception {
runTest("js/js.translator/testData/box/reflection/kTypeWithJsCall.kt");
@@ -7161,6 +7161,11 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest {
runTest("js/js.translator/testData/box/reflection/kClassWithJsCall.kt");
}
@TestMetadata("kJsClassWithJsCall.kt")
public void testKJsClassWithJsCall() throws Exception {
runTest("js/js.translator/testData/box/reflection/kJsClassWithJsCall.kt");
}
@TestMetadata("kTypeWithJsCall.kt")
public void testKTypeWithJsCall() throws Exception {
runTest("js/js.translator/testData/box/reflection/kTypeWithJsCall.kt");
@@ -1,6 +1,5 @@
import kotlin.reflect.KClass
// MODULE: main
// FILE: main.kt
external abstract open class A(
o: String
@@ -1,6 +1,5 @@
import kotlin.reflect.KClass
// MODULE: main
// FILE: main.kt
external abstract open class A(
o: String
@@ -0,0 +1,38 @@
import kotlin.reflect.KClass
// FILE: main.kt
external abstract open class A(
o: String
) {
abstract val k: String
fun test(): String
}
class B(
o: String
) : A(o) {
override val k = "K"
}
external fun test(
klazz: Any
) : B
fun box(): String {
return test(B::class.js).test()
}
// FILE: test.js
function test(classType) {
return new classType("O")
}
function A(o) {
this.o = o
}
A.prototype.test = function() {
return this.o + this.k
}
@@ -4,7 +4,6 @@ import kotlin.reflect.KClass
import kotlin.reflect.KType
import kotlin.reflect.typeOf
// MODULE: main
// FILE: main.kt
external abstract open class A(
o: String