From 0e16788b0a595429e27edd71bc9632a52450655f Mon Sep 17 00:00:00 2001 From: Dmitrii Gridin Date: Mon, 12 Feb 2024 22:54:49 +0100 Subject: [PATCH] [FIR] value parameters from data class copy should be marked as resolved ^KT-65763 Fixed --- .../testData/getOrBuildFirBinary/dataClass.txt | 2 +- .../org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt index 0a1b0c7eb08..f67366d0efd 100644 --- a/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt +++ b/analysis/low-level-api-fir/testData/getOrBuildFirBinary/dataClass.txt @@ -30,7 +30,7 @@ public final data [ResolvedTo(BODY_RESOLVE)] class MyDependency : R|kotlin/Any| public final operator [ResolvedTo(BODY_RESOLVE)] fun component2(): R|one/D| - public final [ResolvedTo(BODY_RESOLVE)] fun copy([ResolvedTo(RAW_FIR)] b: R|one/B| = this@R|one/MyDependency|.R|one/MyDependency.b|, [ResolvedTo(RAW_FIR)] d: R|one/D| = this@R|one/MyDependency|.R|one/MyDependency.d|): R|one/MyDependency| + public final [ResolvedTo(BODY_RESOLVE)] fun copy([ResolvedTo(BODY_RESOLVE)] b: R|one/B| = this@R|one/MyDependency|.R|one/MyDependency.b|, [ResolvedTo(BODY_RESOLVE)] d: R|one/D| = this@R|one/MyDependency|.R|one/MyDependency.d|): R|one/MyDependency| public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean| diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt index f84bca473b3..5f6cae35296 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/AbstractRawFirBuilder.kt @@ -1214,6 +1214,7 @@ fun FirRegularClassBuilder.createDa val propertyReturnTypeRef = createParameterTypeRefWithSourceKind(firProperty, KtFakeSourceElementKind.DataClassGeneratedMembers) valueParameters += buildValueParameter { + resolvePhase = this@createDataClassCopyFunction.resolvePhase source = parameterSource containingFunctionSymbol = this@buildSimpleFunction.symbol moduleData = this@createDataClassCopyFunction.moduleData