diff --git a/compiler/testData/codegen/box/bridges/covariantGenericDiamond.kt b/compiler/testData/codegen/box/bridges/covariantGenericDiamond.kt index 3292015fd01..544e5019181 100644 --- a/compiler/testData/codegen/box/bridges/covariantGenericDiamond.kt +++ b/compiler/testData/codegen/box/bridges/covariantGenericDiamond.kt @@ -1,3 +1,8 @@ +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: BRIDGE_ISSUES +// Before we implemented native wasm strings this passed by chance, only because we inserted unbox intrinsic at the end of +// the BImpl::. Need to find common source of this bridge problems. + interface A { val result: Any } diff --git a/compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt b/compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt index b2ad3e749c2..091de576188 100644 --- a/compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt +++ b/compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt @@ -1,3 +1,8 @@ +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, foo will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. + open class Foo { open fun foo(x: CharSequence = "O"): CharSequence = x } diff --git a/compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt b/compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt index 9f24919d51d..22ad8501e04 100644 --- a/compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt +++ b/compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt @@ -1,3 +1,8 @@ +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, foo will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. + open class Foo { open fun foo(x: CharSequence = "O"): CharSequence = x } diff --git a/compiler/testData/codegen/box/defaultArguments/implementedByFake.kt b/compiler/testData/codegen/box/defaultArguments/implementedByFake.kt index ee26f2909a3..cff2b387142 100644 --- a/compiler/testData/codegen/box/defaultArguments/implementedByFake.kt +++ b/compiler/testData/codegen/box/defaultArguments/implementedByFake.kt @@ -1,3 +1,8 @@ +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, A.g will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. + interface I { val prop: T diff --git a/compiler/testData/codegen/box/defaultArguments/implementedByFake2.kt b/compiler/testData/codegen/box/defaultArguments/implementedByFake2.kt index c175599772f..814d4c880c8 100644 --- a/compiler/testData/codegen/box/defaultArguments/implementedByFake2.kt +++ b/compiler/testData/codegen/box/defaultArguments/implementedByFake2.kt @@ -1,3 +1,8 @@ +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, A.g will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. + interface I { val prop: T diff --git a/compiler/testData/codegen/box/defaultArguments/implementedByFake3.kt b/compiler/testData/codegen/box/defaultArguments/implementedByFake3.kt index db046c58477..d70a7357044 100644 --- a/compiler/testData/codegen/box/defaultArguments/implementedByFake3.kt +++ b/compiler/testData/codegen/box/defaultArguments/implementedByFake3.kt @@ -1,3 +1,8 @@ +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, A.g will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. + interface I { val prop: T diff --git a/compiler/testData/codegen/box/inlineClasses/kt44867.kt b/compiler/testData/codegen/box/inlineClasses/kt44867.kt index ddde1a16ada..c5105207a28 100644 --- a/compiler/testData/codegen/box/inlineClasses/kt44867.kt +++ b/compiler/testData/codegen/box/inlineClasses/kt44867.kt @@ -1,5 +1,9 @@ // WITH_RUNTIME // IGNORE_BACKEND: JVM +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, Result. will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. open class BaseWrapper(val response: T) class Wrapper(result: Result) : BaseWrapper>(result) diff --git a/compiler/testData/codegen/box/inlineClasses/result/lambdaTakesResultThroughBridge.kt b/compiler/testData/codegen/box/inlineClasses/result/lambdaTakesResultThroughBridge.kt index 3df354f4308..abce7abe2ab 100644 --- a/compiler/testData/codegen/box/inlineClasses/result/lambdaTakesResultThroughBridge.kt +++ b/compiler/testData/codegen/box/inlineClasses/result/lambdaTakesResultThroughBridge.kt @@ -1,5 +1,4 @@ // WITH_RUNTIME -// IGNORE_BACKEND: WASM fun Result.getOrNullNoinline() = getOrNull() val x = { a: Int, b: Result -> b.getOrNullNoinline() } diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/class.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/class.kt index 5565e20c15f..1d9819e105d 100644 --- a/compiler/testData/codegen/box/inlineClasses/returnResult/class.kt +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/class.kt @@ -1,5 +1,9 @@ // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, Result:: will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. class C { fun foo(): Result = Result.success("OK") diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt index ad34277bcc7..21945dafebd 100644 --- a/compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt @@ -1,5 +1,9 @@ // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, Result. will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. interface I { fun foo(): Any diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt index d35327566c8..35d2d5e0f74 100644 --- a/compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt @@ -1,5 +1,9 @@ // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, foo will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. interface I { fun foo(): T diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt index fab350b261e..ffa5de2e054 100644 --- a/compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt @@ -1,5 +1,9 @@ // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, foo will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. interface I { fun foo(): Result diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt index 133635ec46a..ae5744f4b5e 100644 --- a/compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt @@ -1,5 +1,9 @@ // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, Result. will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. interface I { fun foo(): Result diff --git a/compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt b/compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt index d43e09ca03e..883365fb3c9 100644 --- a/compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt +++ b/compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt @@ -1,5 +1,9 @@ // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM +// WASM_MUTE_REASON: FAKE_OVERRIDE_ISSUES +// On wasm this will produce conflicting return types, Result. will return Any but we will try to interpret it as String. +// Before wasm native strings this worked by chance because we added unbox intrinsic for strings. fun foo(): Result = Result.success("OK") diff --git a/compiler/testData/codegen/box/objects/safeAccess.kt b/compiler/testData/codegen/box/objects/safeAccess.kt index 78255aeee9f..f454960c63c 100644 --- a/compiler/testData/codegen/box/objects/safeAccess.kt +++ b/compiler/testData/codegen/box/objects/safeAccess.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND: WASM // KT-5159 object Test { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index 58049d59c57..ebad0a17b09 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -953,11 +953,6 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/bridges/complexMultiInheritance.kt"); } - @TestMetadata("covariantGenericDiamond.kt") - public void testCovariantGenericDiamond() throws Exception { - runTest("compiler/testData/codegen/box/bridges/covariantGenericDiamond.kt"); - } - @TestMetadata("delegation.kt") public void testDelegation() throws Exception { runTest("compiler/testData/codegen/box/bridges/delegation.kt"); @@ -4025,21 +4020,6 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/defaultArguments/complexInheritance.kt"); } - @TestMetadata("implementedByFake.kt") - public void testImplementedByFake() throws Exception { - runTest("compiler/testData/codegen/box/defaultArguments/implementedByFake.kt"); - } - - @TestMetadata("implementedByFake2.kt") - public void testImplementedByFake2() throws Exception { - runTest("compiler/testData/codegen/box/defaultArguments/implementedByFake2.kt"); - } - - @TestMetadata("implementedByFake3.kt") - public void testImplementedByFake3() throws Exception { - runTest("compiler/testData/codegen/box/defaultArguments/implementedByFake3.kt"); - } - @TestMetadata("inheritedFromInterfaceViaAbstractSuperclass.kt") public void testInheritedFromInterfaceViaAbstractSuperclass() throws Exception { runTest("compiler/testData/codegen/box/defaultArguments/inheritedFromInterfaceViaAbstractSuperclass.kt"); @@ -4258,16 +4238,6 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/defaultArguments/function/complexInheritance.kt"); } - @TestMetadata("covariantOverride.kt") - public void testCovariantOverride() throws Exception { - runTest("compiler/testData/codegen/box/defaultArguments/function/covariantOverride.kt"); - } - - @TestMetadata("covariantOverrideGeneric.kt") - public void testCovariantOverrideGeneric() throws Exception { - runTest("compiler/testData/codegen/box/defaultArguments/function/covariantOverrideGeneric.kt"); - } - @TestMetadata("defaultLambdaInline.kt") public void testDefaultLambdaInline() throws Exception { runTest("compiler/testData/codegen/box/defaultArguments/function/defaultLambdaInline.kt"); @@ -7164,11 +7134,6 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/inlineClasses/kt44141.kt"); } - @TestMetadata("kt44867.kt") - public void testKt44867() throws Exception { - runTest("compiler/testData/codegen/box/inlineClasses/kt44867.kt"); - } - @TestMetadata("kt44978.kt") public void testKt44978() throws Exception { runTest("compiler/testData/codegen/box/inlineClasses/kt44978.kt"); @@ -8271,36 +8236,6 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest public void testAllFilesPresentInReturnResult() throws Exception { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inlineClasses/returnResult"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); } - - @TestMetadata("class.kt") - public void testClass() throws Exception { - runTest("compiler/testData/codegen/box/inlineClasses/returnResult/class.kt"); - } - - @TestMetadata("classAnyOverride.kt") - public void testClassAnyOverride() throws Exception { - runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classAnyOverride.kt"); - } - - @TestMetadata("classGenericOverride.kt") - public void testClassGenericOverride() throws Exception { - runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classGenericOverride.kt"); - } - - @TestMetadata("classResultOverride.kt") - public void testClassResultOverride() throws Exception { - runTest("compiler/testData/codegen/box/inlineClasses/returnResult/classResultOverride.kt"); - } - - @TestMetadata("interface.kt") - public void testInterface() throws Exception { - runTest("compiler/testData/codegen/box/inlineClasses/returnResult/interface.kt"); - } - - @TestMetadata("topLevel.kt") - public void testTopLevel() throws Exception { - runTest("compiler/testData/codegen/box/inlineClasses/returnResult/topLevel.kt"); - } } @TestMetadata("compiler/testData/codegen/box/inlineClasses/unboxGenericParameter")