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 37b93169b1e..a7c7435b768 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 @@ -33561,6 +33561,12 @@ public class FirLightTreeBlackBoxCodegenTestGenerated extends AbstractFirLightTr runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 3ae604e6f8f..9bf8c65af3f 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 @@ -33561,6 +33561,12 @@ public class FirPsiBlackBoxCodegenTestGenerated extends AbstractFirPsiBlackBoxCo runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() throws Exception { diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt index 8e51ad2c86e..475efd6c989 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/FunctionDefaultParametersActualizer.kt @@ -5,13 +5,24 @@ package org.jetbrains.kotlin.backend.common.actualizer -import org.jetbrains.kotlin.backend.common.lower.copyAndActualizeDefaultValue +import org.jetbrains.kotlin.backend.common.lower.actualize import org.jetbrains.kotlin.ir.declarations.IrFunction -import org.jetbrains.kotlin.ir.symbols.IrClassSymbol +import org.jetbrains.kotlin.ir.declarations.copyAttributes +import org.jetbrains.kotlin.ir.expressions.IrGetValue import org.jetbrains.kotlin.ir.symbols.IrFunctionSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol +import org.jetbrains.kotlin.ir.util.DeepCopyTypeRemapper +import org.jetbrains.kotlin.ir.util.SymbolRemapper +import org.jetbrains.kotlin.ir.util.TypeRemapper +import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols + +internal class FunctionDefaultParametersActualizer( + symbolRemapper: ActualizerSymbolRemapper, + typeRemapper: DeepCopyTypeRemapper, + private val expectActualMap: Map +) { + private val visitor = FunctionDefaultParametersActualizerVisitor(symbolRemapper, typeRemapper) -internal class FunctionDefaultParametersActualizer(private val expectActualMap: Map) { fun actualize() { for ((expect, actual) in expectActualMap) { if (expect is IrFunctionSymbol) { @@ -24,13 +35,20 @@ internal class FunctionDefaultParametersActualizer(private val expectActualMap: expectFunction.valueParameters.zip(actualFunction.valueParameters).forEach { (expectParameter, actualParameter) -> val expectDefaultValue = expectParameter.defaultValue if (actualParameter.defaultValue == null && expectDefaultValue != null) { - actualParameter.defaultValue = expectDefaultValue.copyAndActualizeDefaultValue( - actualFunction, - mapOf(), - classActualizer = { (expectActualMap[it.symbol] as IrClassSymbol).owner }, - functionActualizer = { (expectActualMap[it.symbol] as IrFunctionSymbol).owner } - ) + actualParameter.defaultValue = expectDefaultValue.deepCopyWithSymbols(actualFunction).transform(visitor, null) } } } -} \ No newline at end of file +} + +private class FunctionDefaultParametersActualizerVisitor(private val symbolRemapper: SymbolRemapper, typeRemapper: TypeRemapper) : + ActualizerVisitor(symbolRemapper, typeRemapper) { + override fun visitGetValue(expression: IrGetValue): IrGetValue { + // It performs actualization of dispatch/extension receivers + // It's actual only for default parameter values of expect functions because expect functions don't have bodies + return expression.actualize( + classActualizer = { symbolRemapper.getReferencedClass(it.symbol).owner }, + functionActualizer = { symbolRemapper.getReferencedFunction(it.symbol).owner } + ).copyAttributes(expression) + } +} diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt index 245360c5eec..be3dacfc7b1 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/actualizer/IrActualizer.kt @@ -34,7 +34,7 @@ object IrActualizer { val symbolRemapper = ActualizerSymbolRemapper(expectActualMap) val typeRemapper = DeepCopyTypeRemapper(symbolRemapper) - FunctionDefaultParametersActualizer(expectActualMap).actualize() + FunctionDefaultParametersActualizer(symbolRemapper, typeRemapper, expectActualMap).actualize() MissingFakeOverridesAdder( expectActualMap, diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt index b06927987ec..c09510b8223 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/ExpectDeclarationRemover.kt @@ -12,9 +12,13 @@ import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.IrStatement import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.IrExpressionBody +import org.jetbrains.kotlin.ir.expressions.IrGetValue import org.jetbrains.kotlin.ir.symbols.* import org.jetbrains.kotlin.ir.types.extractTypeParameters import org.jetbrains.kotlin.ir.util.* +import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid import org.jetbrains.kotlin.resolve.descriptorUtil.module import org.jetbrains.kotlin.resolve.multiplatform.OptionalAnnotationUtil import org.jetbrains.kotlin.resolve.multiplatform.findCompatibleActualsForExpected @@ -151,13 +155,30 @@ open class ExpectDeclarationRemover(val symbolTable: ReferenceSymbolTable, priva defaultValue.let { originalDefault -> declaration.defaultValue = originalDefault.copyAndActualizeDefaultValue( function, - typeParameterSubstitutionMap.getValue(expectToActual), - classActualizer = { symbolTable.referenceClass(it.descriptor.findActualForExpect() as ClassDescriptor).owner }, - functionActualizer = { symbolTable.referenceFunction(it.descriptor.findActualForExpect() as FunctionDescriptor).owner } + typeParameterSubstitutionMap.getValue(expectToActual) ) } } + private fun IrExpressionBody.copyAndActualizeDefaultValue( + actualFunction: IrFunction, + expectActualTypeParametersMap: Map + ): IrExpressionBody { + return this + .deepCopyWithSymbols(actualFunction) { symbolRemapper, _ -> + DeepCopyIrTreeWithSymbols(symbolRemapper, IrTypeParameterRemapper(expectActualTypeParametersMap)) + } + .transform(object : IrElementTransformerVoid() { + override fun visitGetValue(expression: IrGetValue): IrExpression { + expression.transformChildrenVoid() + return expression.actualize( + classActualizer = { symbolTable.referenceClass(it.descriptor.findActualForExpect() as ClassDescriptor).owner }, + functionActualizer = { symbolTable.referenceFunction(it.descriptor.findActualForExpect() as FunctionDescriptor).owner } + ) + } + }, data = null) + } + private fun MemberDescriptor.findExpectForActual(): MemberDescriptor? { if (!isActual) error(this) return findCompatibleExpectsForActual().singleOrNull() diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LowerUtils.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LowerUtils.kt index 7802a77af32..ba76adcd1b5 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LowerUtils.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LowerUtils.kt @@ -22,9 +22,6 @@ import org.jetbrains.kotlin.ir.symbols.IrValueParameterSymbol import org.jetbrains.kotlin.ir.types.IrSimpleType import org.jetbrains.kotlin.ir.types.IrType import org.jetbrains.kotlin.ir.types.classifierOrFail -import org.jetbrains.kotlin.ir.util.DeepCopyIrTreeWithSymbols -import org.jetbrains.kotlin.ir.util.IrTypeParameterRemapper -import org.jetbrains.kotlin.ir.util.deepCopyWithSymbols import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid import org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid import org.jetbrains.kotlin.ir.visitors.acceptChildrenVoid @@ -253,28 +250,7 @@ fun ParameterDescriptor.copyAsValueParameter(newOwner: CallableDescriptor, index else -> throw Error("Unexpected parameter descriptor: $this") } -fun IrExpressionBody.copyAndActualizeDefaultValue( - actualFunction: IrFunction, - expectActualTypeParametersMap: Map, - classActualizer: (IrClass) -> IrClass, - functionActualizer: (IrFunction) -> IrFunction -): IrExpressionBody { - return this - .deepCopyWithSymbols(actualFunction) { symbolRemapper, _ -> - DeepCopyIrTreeWithSymbols(symbolRemapper, IrTypeParameterRemapper(expectActualTypeParametersMap)) - } - .transform(object : IrElementTransformerVoid() { - override fun visitGetValue(expression: IrGetValue): IrExpression { - expression.transformChildrenVoid() - return expression.actualizeForDefaultValue( - classActualizer = { classActualizer(it) }, - functionActualizer = { functionActualizer(it) } - ) - } - }, data = null) -} - -fun IrGetValue.actualizeForDefaultValue(classActualizer: (IrClass) -> IrClass, functionActualizer: (IrFunction) -> IrFunction): IrGetValue { +fun IrGetValue.actualize(classActualizer: (IrClass) -> IrClass, functionActualizer: (IrFunction) -> IrFunction): IrGetValue { val symbol = symbol if (symbol !is IrValueParameterSymbol) { return this @@ -288,13 +264,13 @@ fun IrGetValue.actualizeForDefaultValue(classActualizer: (IrClass) -> IrClass, f } is IrFunction -> { - val function = functionActualizer(parent) + val actualizedFunction = functionActualizer(parent) when (parameter) { - parent.dispatchReceiverParameter -> function.dispatchReceiverParameter!! - parent.extensionReceiverParameter -> function.extensionReceiverParameter!! + parent.dispatchReceiverParameter -> actualizedFunction.dispatchReceiverParameter!! + parent.extensionReceiverParameter -> actualizedFunction.extensionReceiverParameter!! else -> { assert(parent.valueParameters[parameter.index] == parameter) - function.valueParameters[parameter.index] + actualizedFunction.valueParameters[parameter.index] } } } diff --git a/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt b/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt index 31670996d58..9a4ffb50a2f 100644 --- a/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt +++ b/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt @@ -1,7 +1,5 @@ -// IGNORE_BACKEND: JS_IR, JS_IR_ES6, WASM -// IGNORE_BACKEND_K1: JVM, JVM_IR, JS, NATIVE -// KT-57181 -// IGNORE_BACKEND_K2: NATIVE +// IGNORE_BACKEND_K1: JVM, JVM_IR, JS, JS_IR, JS_IR_ES6, NATIVE, WASM +// ISSUE: KT-57181 // WASM_MUTE_REASON: EXPECT_DEFAULT_PARAMETERS // !LANGUAGE: +MultiPlatformProjects // ISSUE: KT-41901 diff --git a/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt b/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt new file mode 100644 index 00000000000..1a4da2f01a8 --- /dev/null +++ b/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt @@ -0,0 +1,18 @@ +// IGNORE_BACKEND_K1: JS, JS_IR, JS_IR_ES6 +// !LANGUAGE: +MultiPlatformProjects +// ISSUE: KT-57263 + +// MODULE: common +// TARGET_PLATFORM: Common +// FILE: common.kt + +expect val traceFormatDefault: String +expect fun Trace(format: String = traceFormatDefault): String + +// MODULE: platform()()(common) +// FILE: platform.kt + +actual val traceFormatDefault: String = "" +actual fun Trace(format: String) = format + +fun box() = Trace("OK") \ No newline at end of file diff --git a/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/nestedEnumEntryValue.kt b/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/nestedEnumEntryValue.kt index 15a3779ad49..3a55ddae8dc 100644 --- a/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/nestedEnumEntryValue.kt +++ b/compiler/testData/codegen/box/multiplatform/k2/defaultArguments/nestedEnumEntryValue.kt @@ -1,8 +1,6 @@ // WITH_STDLIB -// IGNORE_BACKEND: JS_IR, JS_IR_ES6, WASM -// IGNORE_BACKEND_K1: JS, JVM, JVM_IR +// IGNORE_BACKEND_K1: JVM, JVM_IR, JS, JS_IR, JS_IR_ES6, NATIVE, WASM // KT-57181 -// IGNORE_BACKEND_K2: NATIVE // JS IR & Wasm: https://youtrack.jetbrains.com/issue/KT-51225 // !LANGUAGE: +MultiPlatformProjects // ISSUE: KT-51156 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 de6dee979b5..869b88c822e 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 @@ -32115,6 +32115,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest { runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 6d2ad465569..8b4875b401d 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 @@ -33561,6 +33561,12 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 738a80c2d4c..6698c28b3ff 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 @@ -33561,6 +33561,12 @@ public class IrBlackBoxCodegenWithIrInlinerTestGenerated extends AbstractIrBlack runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 b8f8b7503e3..859e030cfc5 100644 --- a/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java +++ b/compiler/tests-gen/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java @@ -27455,6 +27455,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes public void testAnnotations() throws Exception { runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/annotations.kt"); } + + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.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 aff297bf7e1..6c25451cd2b 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 @@ -23309,6 +23309,12 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 3d89b872cc1..c846c4afc75 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 @@ -23447,6 +23447,12 @@ public class FirJsCodegenBoxTestGenerated extends AbstractFirJsCodegenBoxTest { runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 fef5f894c1e..80114f411cf 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 @@ -23447,6 +23447,12 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 ae8db8f7b63..cc376eb0ac8 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 @@ -23447,6 +23447,12 @@ public class IrJsES6CodegenBoxTestGenerated extends AbstractIrJsES6CodegenBoxTes runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 b99ecd8ec11..e140f17c0f4 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 @@ -26883,6 +26883,12 @@ public class FirNativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTe runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 4b8709a54ad..916708a5f28 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 @@ -27495,6 +27495,12 @@ public class FirNativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenB runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 f1e4693d968..003555b61e7 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 @@ -26577,6 +26577,12 @@ public class NativeCodegenBoxTestGenerated extends AbstractNativeCodegenBoxTest runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 b36d87e1dfa..5a31d2f2fba 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 @@ -27189,6 +27189,12 @@ public class NativeCodegenBoxTestNoPLGenerated extends AbstractNativeCodegenBoxT runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @Test + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @Test @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() 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 1c40a0caab3..931370caf51 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 @@ -20879,6 +20879,11 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/dispatchReceiverValue.kt"); } + @TestMetadata("expectPropertyAsDefaultArgument.kt") + public void testExpectPropertyAsDefaultArgument() throws Exception { + runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/expectPropertyAsDefaultArgument.kt"); + } + @TestMetadata("extensionReceiverValue.kt") public void testExtensionReceiverValue() throws Exception { runTest("compiler/testData/codegen/box/multiplatform/k2/defaultArguments/extensionReceiverValue.kt");