diff --git a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt index 50006eee41a..733e9ab746b 100644 --- a/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt +++ b/idea/idea-frontend-fir/idea-fir-low-level-api/src/org/jetbrains/kotlin/idea/fir/low/level/api/lazy/resolve/FirLazyDeclarationResolver.kt @@ -25,7 +25,6 @@ import org.jetbrains.kotlin.idea.fir.low.level.api.util.checkCanceled import org.jetbrains.kotlin.idea.fir.low.level.api.util.executeWithoutPCE import org.jetbrains.kotlin.idea.fir.low.level.api.util.findSourceNonLocalFirDeclaration import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.psiUtil.getParentOfType internal class FirLazyDeclarationResolver( private val firFileBuilder: FirFileBuilder @@ -41,14 +40,14 @@ internal class FirLazyDeclarationResolver( if (declaration.resolvePhase >= toPhase) return if (declaration is FirPropertyAccessor || declaration is FirTypeParameter) { - val ktContainingProperty = when (val ktDeclaration = declaration.ktDeclaration) { + val ktContainingResolvableDeclaration = when (val ktDeclaration = declaration.ktDeclaration) { is KtPropertyAccessor -> ktDeclaration.property is KtProperty -> ktDeclaration is KtParameter, is KtTypeParameter -> ktDeclaration.getNonLocalContainingOrThisDeclaration() ?: error("Cannot find containing declaration for KtParameter") else -> error("Invalid source of property accessor ${ktDeclaration::class}") } - val containingProperty = ktContainingProperty + val containingProperty = ktContainingResolvableDeclaration .findSourceNonLocalFirDeclaration(firFileBuilder, declaration.session.firSymbolProvider, moduleFileCache) return lazyResolveDeclaration(containingProperty, moduleFileCache, toPhase, towerDataContextCollector) } diff --git a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/classes/firLightClassUtils.kt b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/classes/firLightClassUtils.kt index 16ce5849b0b..469a4f04c2c 100644 --- a/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/classes/firLightClassUtils.kt +++ b/idea/idea-frontend-fir/src/org/jetbrains/kotlin/idea/asJava/classes/firLightClassUtils.kt @@ -58,19 +58,9 @@ fun createFirLightClassNoCache(classOrObject: KtClassOrObject): KtLightClass? { return null } - if (classOrObject.isLocal) { - val nonLocalDeclaration = classOrObject.containingNonLocalDeclaration() ?: return null - analyze(nonLocalDeclaration) { - (nonLocalDeclaration.getSymbol() as? KtFirSymbol<*>)?.run { - this.firRef.withFir(FirResolvePhase.BODY_RESOLVE) { } - } - } ?: return null - } - return when { classOrObject is KtEnumEntry -> lightClassForEnumEntry(classOrObject) classOrObject.isObjectLiteral() -> return null //TODO - //classOrObject.safeIsLocal() -> return null //TODO classOrObject.hasModifier(KtTokens.INLINE_KEYWORD) -> return null //TODO else -> { analyze(classOrObject) {