[Wasm] Do not erase interfaces down to Any type in Wasm signature.

This enables overloading virtual methods with different interface types
This commit is contained in:
Svyatoslav Kuzmich
2021-09-20 15:41:39 +03:00
parent 6db7154876
commit a2bfcfeae8
13 changed files with 93 additions and 10 deletions
@@ -12153,6 +12153,11 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes
runTest("compiler/testData/codegen/box/functions/nothisnoclosure.kt");
}
@TestMetadata("overloadByInterfaceType.kt")
public void testOverloadByInterfaceType() throws Exception {
runTest("compiler/testData/codegen/box/functions/overloadByInterfaceType.kt");
}
@TestMetadata("prefixRecursiveCall.kt")
public void testPrefixRecursiveCall() throws Exception {
runTest("compiler/testData/codegen/box/functions/prefixRecursiveCall.kt");
@@ -11559,6 +11559,11 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/functions/nothisnoclosure.kt");
}
@TestMetadata("overloadByInterfaceType.kt")
public void testOverloadByInterfaceType() throws Exception {
runTest("compiler/testData/codegen/box/functions/overloadByInterfaceType.kt");
}
@TestMetadata("prefixRecursiveCall.kt")
public void testPrefixRecursiveCall() throws Exception {
runTest("compiler/testData/codegen/box/functions/prefixRecursiveCall.kt");
@@ -11539,6 +11539,11 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest {
runTest("compiler/testData/codegen/box/functions/nothisnoclosure.kt");
}
@TestMetadata("overloadByInterfaceType.kt")
public void testOverloadByInterfaceType() throws Exception {
runTest("compiler/testData/codegen/box/functions/overloadByInterfaceType.kt");
}
@TestMetadata("prefixRecursiveCall.kt")
public void testPrefixRecursiveCall() throws Exception {
runTest("compiler/testData/codegen/box/functions/prefixRecursiveCall.kt");
@@ -1295,6 +1295,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/bridges/substitutionInSuperClass/differentErasureInSuperClass.kt");
}
@TestMetadata("differentErasureInSuperClassComplex.kt")
public void testDifferentErasureInSuperClassComplex() throws Exception {
runTest("compiler/testData/codegen/box/bridges/substitutionInSuperClass/differentErasureInSuperClassComplex.kt");
}
@TestMetadata("enum.kt")
public void testEnum() throws Exception {
runTest("compiler/testData/codegen/box/bridges/substitutionInSuperClass/enum.kt");
@@ -6628,6 +6633,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest
runTest("compiler/testData/codegen/box/functions/nothisnoclosure.kt");
}
@TestMetadata("overloadByInterfaceType.kt")
public void testOverloadByInterfaceType() throws Exception {
runTest("compiler/testData/codegen/box/functions/overloadByInterfaceType.kt");
}
@TestMetadata("prefixRecursiveCall.kt")
public void testPrefixRecursiveCall() throws Exception {
runTest("compiler/testData/codegen/box/functions/prefixRecursiveCall.kt");