From 24c9b8e006e7e45f2c228494895005dabfa61cfd Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 27 Jul 2022 18:40:16 +0200 Subject: [PATCH] [LL FIR] fix invalid designation collection in case of classpath conflict ^KTIJ-22323 fixed --- .../level/api/fir/api/FirDeclarationDesignation.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDeclarationDesignation.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDeclarationDesignation.kt index dc1abde4ffc..2653577abea 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDeclarationDesignation.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/api/FirDeclarationDesignation.kt @@ -9,14 +9,15 @@ import org.jetbrains.kotlin.analysis.low.level.api.fir.util.firErrorWithAttachme import org.jetbrains.kotlin.analysis.low.level.api.fir.util.getContainingFile import org.jetbrains.kotlin.analysis.low.level.api.fir.util.withFirAttachment import org.jetbrains.kotlin.descriptors.Visibilities +import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.containingClass import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.classId import org.jetbrains.kotlin.fir.declarations.utils.isLocal import org.jetbrains.kotlin.fir.renderWithType import org.jetbrains.kotlin.fir.resolve.providers.firProvider -import org.jetbrains.kotlin.fir.resolve.toFirRegularClass -import org.jetbrains.kotlin.fir.symbols.impl.LookupTagInternals +import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag +import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLookupTagWithFixedSymbol import org.jetbrains.kotlin.utils.checkWithAttachment import org.jetbrains.kotlin.utils.errorWithAttachment @@ -67,8 +68,7 @@ private fun collectDesignationPath(declaration: FirDeclaration): List { val klass = declaration.containingClass() ?: return emptyList() if (klass.classId.isLocal) return null - @OptIn(LookupTagInternals::class) - klass.toFirRegularClass(declaration.moduleData.session) + klass.toFirRegularClassFromSameSession(declaration.moduleData.session) } else -> return null } @@ -86,6 +86,11 @@ private fun collectDesignationPath(declaration: FirDeclaration): List