diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index a1a0fb3dc55..bbe4766659e 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -192,7 +192,9 @@ class Fir2IrVisitor( val irClass = classifierStorage.getCachedIrClass(regularClass)?.apply { this.parent = irParent } if (irClass != null) { return conversionScope.withParent(irClass) { - memberGenerator.convertClassContent(irClass, regularClass) + conversionScope.withContainingFirClass(regularClass) { + memberGenerator.convertClassContent(irClass, regularClass) + } } } converter.processLocalClassAndNestedClasses(regularClass, irParent) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt index f1d39ab0bc3..550a0e895b5 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/ClassMemberGenerator.kt @@ -84,7 +84,9 @@ internal class ClassMemberGenerator( val irNestedClass = classifierStorage.getCachedIrClass(declaration)!! irNestedClass.parent = irClass conversionScope.withParent(irNestedClass) { - convertClassContent(irNestedClass, declaration) + conversionScope.withContainingFirClass(declaration) { + convertClassContent(irNestedClass, declaration) + } } } else -> declaration.accept(visitor, null) 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 103ee23fd0a..98c3d063663 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 @@ -18327,6 +18327,18 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("assertEqualsFakeOverride.kt") public void testAssertEqualsFakeOverride() throws Exception { @@ -18513,6 +18525,18 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/fir/linkViaSignatures.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("LookupTags.kt") public void testLookupTags() 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 e6f485fc591..8e2b07797af 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 @@ -18327,6 +18327,18 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("assertEqualsFakeOverride.kt") public void testAssertEqualsFakeOverride() throws Exception { @@ -18513,6 +18525,18 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/fir/linkViaSignatures.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("LookupTags.kt") public void testLookupTags() throws Exception { diff --git a/compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt b/compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt new file mode 100644 index 00000000000..cb07fcf6747 --- /dev/null +++ b/compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt @@ -0,0 +1,17 @@ +// ISSUE: KT-58902 + +fun box(): String { + open class Outer { + open inner class A { + open fun foo(x: String, y: String? = null): String = x + (y ?: "K") + } + } + + val b = object : Outer() { + inner class MyClass : A() { + override fun foo(x: String, y: String?) = super.foo(x, y) + } + } + + return b.MyClass().foo("O") +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt b/compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt new file mode 100644 index 00000000000..9f7c509ac2a --- /dev/null +++ b/compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt @@ -0,0 +1,17 @@ +// ISSUE: KT-58902 + +open class Outer { + open inner class A { + open fun foo(x: String, y: String? = null): String = x + (y ?: "K") + } +} + +fun box(): String { + val b = object : Outer() { + inner class MyClass : A() { + override fun foo(x: String, y: String?) = super.foo(x, y) + } + } + + return b.MyClass().foo("O") +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt b/compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt new file mode 100644 index 00000000000..7083f0ba109 --- /dev/null +++ b/compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt @@ -0,0 +1,15 @@ +// ISSUE: KT-58902 + +fun box(): String { + return run { + open class A { + open fun foo(x: String, y: String? = null): String = x + (y ?: "K") + } + + class MyClass : A() { + override fun foo(x: String, y: String?) = super.foo(x, y) + } + + MyClass() + }.foo("O") +} \ No newline at end of file diff --git a/compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt b/compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt new file mode 100644 index 00000000000..311e3016a45 --- /dev/null +++ b/compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt @@ -0,0 +1,15 @@ +// ISSUE: KT-58902 + +open class A { + open fun foo(x: String, y: String? = null): String = x + (y ?: "K") +} + +fun box(): String { + return run { + class MyClass : A() { + override fun foo(x: String, y: String?) = super.foo(x, y) + } + + MyClass() + }.foo("O") +} \ No newline at end of file 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 15a2d641f61..31a6099f55f 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 @@ -17589,6 +17589,18 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("ClassBuilder.kt") public void testClassBuilder() throws Exception { @@ -17661,6 +17673,18 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/fir/KotlinDocumentationProvider.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("LookupTags.kt") public void testLookupTags() 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 acbfaa6d7ba..72a57d99383 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 @@ -18327,6 +18327,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("assertEqualsFakeOverride.kt") public void testAssertEqualsFakeOverride() throws Exception { @@ -18513,6 +18525,18 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/fir/linkViaSignatures.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("LookupTags.kt") public void testLookupTags() 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 10155be2f1f..3c0a356a8fa 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 @@ -18327,6 +18327,18 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM_IR, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("assertEqualsFakeOverride.kt") public void testAssertEqualsFakeOverride() throws Exception { @@ -18513,6 +18525,18 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/fir/linkViaSignatures.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("LookupTags.kt") public void testLookupTags() 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 89ac3488177..6c3db6680a7 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -14608,6 +14608,16 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JVM, true); } + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @TestMetadata("ClassBuilder.kt") public void testClassBuilder() throws Exception { runTest("compiler/testData/codegen/box/fir/ClassBuilder.kt"); @@ -14668,6 +14678,16 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes runTest("compiler/testData/codegen/box/fir/KotlinDocumentationProvider.kt"); } + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @TestMetadata("LookupTags.kt") public void testLookupTags() throws Exception { runTest("compiler/testData/codegen/box/fir/LookupTags.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java index d31d51de48e..629a8cd0205 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/JsCodegenBoxTestGenerated.java @@ -13635,6 +13635,18 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -13647,6 +13659,18 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 f54b9c4e5ec..5c93e9c286b 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 @@ -13731,6 +13731,18 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -13743,6 +13755,18 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 cc8912d4c98..968ccae6147 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 @@ -13731,6 +13731,18 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -13743,6 +13755,18 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 ddef4174847..75b148599e7 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 @@ -13731,6 +13731,18 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR_ES6, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -13743,6 +13755,18 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 623e0830b72..9a44bb2b719 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 @@ -14906,6 +14906,18 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -14918,6 +14930,18 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 9692c379cf8..d19d51678b5 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 @@ -15256,6 +15256,18 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -15268,6 +15280,18 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 ca97a73c354..23910348790 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 @@ -14732,6 +14732,18 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -14744,6 +14756,18 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 aca4461c7e6..8376ddec6b1 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 @@ -14907,6 +14907,18 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.NATIVE, true); } + @Test + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { @@ -14919,6 +14931,18 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @Test + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @Test + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @Test @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { 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 58d2f21674a..e6200ebc589 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 @@ -12183,6 +12183,16 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/fir"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); } + @TestMetadata("anonymousOverrideWithDefaultInLocalOverridden.kt") + public void testAnonymousOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInLocalOverridden.kt"); + } + + @TestMetadata("anonymousOverrideWithDefaultInOverridden.kt") + public void testAnonymousOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/anonymousOverrideWithDefaultInOverridden.kt"); + } + @TestMetadata("classCanNotBeCastedToVoid.kt") public void testClassCanNotBeCastedToVoid() throws Exception { runTest("compiler/testData/codegen/box/fir/classCanNotBeCastedToVoid.kt"); @@ -12193,6 +12203,16 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/fir/falsePositiveBoundSmartcast.kt"); } + @TestMetadata("localOverrideWithDefaultInLocalOverridden.kt") + public void testLocalOverrideWithDefaultInLocalOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInLocalOverridden.kt"); + } + + @TestMetadata("localOverrideWithDefaultInOverridden.kt") + public void testLocalOverrideWithDefaultInOverridden() throws Exception { + runTest("compiler/testData/codegen/box/fir/localOverrideWithDefaultInOverridden.kt"); + } + @TestMetadata("nestedClassTypeParameterDeserialization.kt") public void testNestedClassTypeParameterDeserialization() throws Exception { runTest("compiler/testData/codegen/box/fir/nestedClassTypeParameterDeserialization.kt");