diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt index 616bfc0c2fd..2b67fa616d0 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDesignation.kt @@ -102,11 +102,6 @@ class FirDesignation( } val scriptOrNull: FirScript? get() = path.getOrNull(0) as? FirScript ?: path.getOrNull(1) as? FirScript ?: target as? FirScript - - /** - * This property exists only for compatibility and should be dropped after KT-65345 - */ - val classPath: List get() = path.filterIsInstance() } fun ExceptionAttachmentBuilder.withFirDesignationEntry(name: String, designation: FirDesignation) { @@ -132,7 +127,7 @@ private fun collectDesignationPath(target: FirElementWithResolveState): List { requireIsInstance(target) // We shouldn't try to build a designation path for such fake declarations as they diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt index 2b396f218cc..effb68029aa 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/lazy/resolve/RawFirNonLocalDeclarationBuilder.kt @@ -99,13 +99,14 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( functionsToRebind = functionsToRebind, replacementApplier = replacementApplier ) + builder.context.packageFqName = rootNonLocalDeclaration.containingKtFile.packageFqName if (rebindContainingSymbol) { @OptIn(PrivateForInline::class) builder.context.forcedContainerSymbol = designation.target.symbol } - return builder.moveNext(designation.classPath.iterator(), containingClass = null) + return builder.moveNext(designation.path.iterator(), containingDeclaration = null) } } @@ -316,8 +317,9 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( } } - private fun moveNext(iterator: Iterator, containingClass: FirRegularClass?): FirDeclaration { + private fun moveNext(iterator: Iterator, containingDeclaration: FirDeclaration?): FirDeclaration { if (!iterator.hasNext()) { + val containingClass = containingDeclaration as? FirRegularClass val visitor = VisitorWithReplacement(containingClass) return when (declarationToBuild) { is KtProperty -> { @@ -350,7 +352,7 @@ internal class RawFirNonLocalDeclarationBuilder private constructor( } val parent = iterator.next() - if (parent !is FirRegularClass) return moveNext(iterator, containingClass = null) + if (parent !is FirRegularClass) return moveNext(iterator, containingDeclaration = null) val classOrObject = parent.psi if (classOrObject !is KtClassOrObject) {