diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java index f93ab57b349..d33836b9b8c 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirLightTreeBlackBoxCodegenTestGenerated.java @@ -2942,6 +2942,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/numberMixedHierarchy.kt"); } + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } + @Test @TestMetadata("removeAtBridgeToJavaClass.kt") public void testRemoveAtBridgeToJavaClass() throws Exception { diff --git a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java index ee62ad06416..f57ce7ffb3a 100644 --- a/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java +++ b/compiler/fir/fir2ir/tests-gen/org/jetbrains/kotlin/test/runners/codegen/FirPsiBlackBoxCodegenTestGenerated.java @@ -2942,6 +2942,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/numberMixedHierarchy.kt"); } + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } + @Test @TestMetadata("removeAtBridgeToJavaClass.kt") public void testRemoveAtBridgeToJavaClass() throws Exception { diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt index 59eb173a986..bf5801ec213 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/utils/NameTables.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerIr import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.expressions.* import org.jetbrains.kotlin.ir.symbols.IrReturnableBlockSymbol +import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.isUnit import org.jetbrains.kotlin.ir.util.* import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid @@ -115,6 +116,13 @@ fun Int.toJsIdentifier(): String { } } +private fun List.joinTypes(): String { + if (isEmpty()) { + return "" + } + return joinToString("$", "$") { superType -> superType.asString() } +} + fun calculateJsFunctionSignature(declaration: IrFunction, context: JsIrBackendContext): String { val declarationName = declaration.nameIfPropertyAccessor() ?: declaration.getJsNameOrKotlinName().asString() @@ -125,20 +133,18 @@ fun calculateJsFunctionSignature(declaration: IrFunction, context: JsIrBackendCo declaration.typeParameters.ifNotEmpty { nameBuilder.append("_\$t") forEach { typeParam -> - nameBuilder.append("_").append(typeParam.name.asString()) - typeParam.superTypes.ifNotEmpty { - nameBuilder.append("$") - joinTo(nameBuilder, "") { type -> type.asString() } - } + nameBuilder.append("_").append(typeParam.name.asString()).append(typeParam.superTypes.joinTypes()) } } declaration.extensionReceiverParameter?.let { - nameBuilder.append("_r$${it.type.asString()}") + val superTypes = it.type.superTypes().joinTypes() + nameBuilder.append("_r$${it.type.asString()}$superTypes") } declaration.valueParameters.ifNotEmpty { joinTo(nameBuilder, "") { val defaultValueSign = if (it.origin == JsLoweredDeclarationOrigin.JS_SHADOWED_DEFAULT_PARAMETER) "?" else "" - "_${it.type.asString()}$defaultValueSign" + val superTypes = it.type.superTypes().joinTypes() + "_${it.type.asString()}$superTypes$defaultValueSign" } } declaration.returnType.let { diff --git a/compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt b/compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt new file mode 100644 index 00000000000..053ef98f9d6 --- /dev/null +++ b/compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt @@ -0,0 +1,18 @@ +// DONT_TARGET_EXACT_BACKEND: JS +// WITH_STDLIB + +class MySet>: AbstractSet() { + override fun contains(element: E): Boolean { return element.key !== null } + + override val size: Int get() = 0 + override fun isEmpty(): Boolean = false + override fun containsAll(elements: Collection): Boolean = false + + override fun iterator(): Iterator = TODO("") +} + +fun box(): String { + val h = MySet>() + val c = (object {}).let { h.contains(it as Any?) } + return if (c) "NOT OK" else "OK" +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java index 21ecd1502e8..31c94488a66 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/BlackBoxCodegenTestGenerated.java @@ -2786,6 +2786,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/numberMixedHierarchy.kt"); } + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } + @Test @TestMetadata("removeAtBridgeToJavaClass.kt") public void testRemoveAtBridgeToJavaClass() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java index a8cbdec3279..8b192342867 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenTestGenerated.java @@ -2942,6 +2942,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/numberMixedHierarchy.kt"); } + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } + @Test @TestMetadata("removeAtBridgeToJavaClass.kt") public void testRemoveAtBridgeToJavaClass() throws Exception { diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java index 9ee3e794448..f06f09479e6 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/codegen/IrBlackBoxCodegenWithIrInlinerTestGenerated.java @@ -2942,6 +2942,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/numberMixedHierarchy.kt"); } + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } + @Test @TestMetadata("removeAtBridgeToJavaClass.kt") public void testRemoveAtBridgeToJavaClass() throws Exception { diff --git a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java index d0bdbc66c55..a32121dab4b 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -2438,6 +2438,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/numberMixedHierarchy.kt"); } + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } + @TestMetadata("removeAtBridgeToJavaClass.kt") public void testRemoveAtBridgeToJavaClass() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/removeAtBridgeToJavaClass.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/BoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/BoxJsTestGenerated.java index 695eac2d328..39a5dbce42c 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/BoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/BoxJsTestGenerated.java @@ -2466,12 +2466,6 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest { public void testSmartCastInFunction() throws Exception { runTest("js/js.translator/testData/box/expression/cast/smartCastInFunction.kt"); } - - @Test - @TestMetadata("unsafeVarianceCast.kt") - public void testUnsafeVarianceCast() throws Exception { - runTest("js/js.translator/testData/box/expression/cast/unsafeVarianceCast.kt"); - } } @Nested diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java index 75bc8d7b0a5..99518645b38 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsCodegenBoxTestGenerated.java @@ -1891,6 +1891,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @Nested diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java index 5e21e8bbc2b..87494e9559d 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsCodegenBoxTestGenerated.java @@ -1891,6 +1891,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @Nested diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java index 795c9ba18df..536f736b899 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6CodegenBoxTestGenerated.java @@ -1891,6 +1891,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @Nested diff --git a/js/js.translator/testData/box/expression/cast/unsafeVarianceCast.kt b/js/js.translator/testData/box/expression/cast/unsafeVarianceCast.kt index 5f286bd4a5a..1eecbfc8782 100644 --- a/js/js.translator/testData/box/expression/cast/unsafeVarianceCast.kt +++ b/js/js.translator/testData/box/expression/cast/unsafeVarianceCast.kt @@ -1,5 +1,8 @@ -abstract class Foo { +// DONT_TARGET_EXACT_BACKEND: JS + +abstract class Foo: Collection { abstract fun foo(element: @UnsafeVariance E): Boolean + abstract override fun contains(element: @UnsafeVariance E): Boolean } class Bar : Foo() { @@ -7,15 +10,49 @@ class Bar : Foo() { if (element !is C?) return false return true } + + override fun contains(element: E): Boolean { + if (element !is C?) return false + return true + } + + override val size: Int get() = -1 + override fun isEmpty() = true + override fun containsAll(elements: Collection) = false + override fun iterator(): Iterator = TODO("Not yet implemented") } open class C open class D : C() -fun box(): String { +fun case1(): Int { val a = (object{}) val foo: Foo = Bar() - if (foo.foo(a as Any?)) return "fail" + try { + if (foo.foo(a as Any?)) + return 1 + return 2 + } catch (e: ClassCastException) { + return 0 + } +} + +fun case2(): Int { + val a = (object{}) + val foo: Collection = Bar() + // compiler knows about this "special" method and it adds an implicit type check which prevents class cast exception + if (foo.contains(a as Any?)) + return 1 + return 0 +} + +fun box(): String { + var r = case1() + if (r != 0) return "Fail case 1, got $r" + + r = case2() + if (r != 0) return "Fail case 2, got $r" + return "OK" -} \ No newline at end of file +} diff --git a/js/js.translator/testData/box/inline/extensionWithManyArguments.kt b/js/js.translator/testData/box/inline/extensionWithManyArguments.kt index 89217b9fe10..412188e41e2 100644 --- a/js/js.translator/testData/box/inline/extensionWithManyArguments.kt +++ b/js/js.translator/testData/box/inline/extensionWithManyArguments.kt @@ -1,7 +1,7 @@ // EXPECTED_REACHABLE_NODES: 1285 package foo -// CHECK_CONTAINS_NO_CALLS: myMultiply except=A;imul;new_foo_A_16tm4z_k$ +// CHECK_CONTAINS_NO_CALLS: myMultiply except=A;imul;new_foo_A_rthawl_k$ internal class A(val a: Int) @@ -15,4 +15,4 @@ fun box(): String { assertEquals(105, myMultiply(3, 5, 7)) return "OK" -} \ No newline at end of file +} diff --git a/js/js.translator/testData/box/inline/privateProperty.kt b/js/js.translator/testData/box/inline/privateProperty.kt index 552ec6bbe6e..151d5e7b1fa 100644 --- a/js/js.translator/testData/box/inline/privateProperty.kt +++ b/js/js.translator/testData/box/inline/privateProperty.kt @@ -115,9 +115,9 @@ private class A { // CHECK_FUNCTION_EXISTS: get_p13_s8ev3n$ TARGET_BACKENDS=JS // CHECK_NOT_CALLED_IN_SCOPE: function=get_p13_s8ev3n$ scope=box TARGET_BACKENDS=JS // CHECK_CALLED_IN_SCOPE: function=set_p13_dqglrj$ scope=box TARGET_BACKENDS=JS - // CHECK_FUNCTION_EXISTS: get_p13_s8qimu_k$ IGNORED_BACKENDS=JS - // CHECK_NOT_CALLED_IN_SCOPE: function=get_p13_s8qimu_k$ scope=box IGNORED_BACKENDS=JS - // CHECK_CALLED_IN_SCOPE: function=set_p13_8qdsq6_k$ scope=box IGNORED_BACKENDS=JS + // CHECK_FUNCTION_EXISTS: get_p13_v9rv0h_k$ IGNORED_BACKENDS=JS + // CHECK_NOT_CALLED_IN_SCOPE: function=get_p13_v9rv0h_k$ scope=box IGNORED_BACKENDS=JS + // CHECK_CALLED_IN_SCOPE: function=set_p13_7j3jda_k$ scope=box IGNORED_BACKENDS=JS var Int.p13: Int inline get() = this * 100 + a + 130000 set(v) { @@ -127,9 +127,9 @@ private class A { // CHECK_CALLED_IN_SCOPE: function=get_p14_s8ev3n$ scope=box TARGET_BACKENDS=JS // CHECK_FUNCTION_EXISTS: set_p14_dqglrj$ TARGET_BACKENDS=JS // CHECK_NOT_CALLED_IN_SCOPE: function=set_p14_dqglrj$ scope=box TARGET_BACKENDS=JS - // CHECK_CALLED_IN_SCOPE: function=get_p14_yfdnt5_k$ scope=box IGNORED_BACKENDS=JS - // CHECK_FUNCTION_EXISTS: set_p14_uaac7n_k$ IGNORED_BACKENDS=JS - // CHECK_NOT_CALLED_IN_SCOPE: function=set_p14_uaac7n_k$ scope=box IGNORED_BACKENDS=JS + // CHECK_CALLED_IN_SCOPE: function=get_p14_7twbq6_k$ scope=box IGNORED_BACKENDS=JS + // CHECK_FUNCTION_EXISTS: set_p14_fdbk5p_k$ IGNORED_BACKENDS=JS + // CHECK_NOT_CALLED_IN_SCOPE: function=set_p14_fdbk5p_k$ scope=box IGNORED_BACKENDS=JS var Int.p14: Int get() = this * 100 + a + 140000 inline set(v) { @@ -224,4 +224,4 @@ fun box(): String { if (a.p17 != 171717) return "test17: ${a.p17}" return "OK" -} \ No newline at end of file +} diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java index f13a1dbaf1b..c8e40811247 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestGenerated.java @@ -1962,6 +1962,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java index e2d1720929d..fa74583e792 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/FirNativeCodegenBoxTestNoPLGenerated.java @@ -2012,6 +2012,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java index 00b48a12c9c..31c3d2b1db5 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestGenerated.java @@ -1938,6 +1938,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @Nested diff --git a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java index 2bbed5adba3..0c3951b1c96 100644 --- a/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java +++ b/native/native.tests/tests-gen/org/jetbrains/kotlin/konan/blackboxtest/NativeCodegenBoxTestNoPLGenerated.java @@ -1963,6 +1963,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @Test + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @Nested diff --git a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java index 6e814524c55..4d21b09d183 100644 --- a/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java +++ b/wasm/wasm.tests/tests-gen/org/jetbrains/kotlin/wasm/test/IrCodegenBoxWasmTestGenerated.java @@ -1682,6 +1682,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest public void testHashSet() throws Exception { runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/hashSet.kt"); } + + @TestMetadata("overrideAbstractSetMethod.kt") + public void testOverrideAbstractSetMethod() throws Exception { + runTest("compiler/testData/codegen/box/builtinStubMethods/extendJavaClasses/overrideAbstractSetMethod.kt"); + } } @TestMetadata("compiler/testData/codegen/box/builtinStubMethods/mapGetOrDefault")