From 1c0bbaf225fd19c0ed5e2375ee672b668a05caec Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 2 Sep 2020 13:25:35 +0300 Subject: [PATCH] FIR: add ensureResolved to FirExposedVisibilityDeclarationChecker --- .../declaration/FirExposedVisibilityDeclarationChecker.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt index 8655e30c36f..6b93b1d7e03 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/declaration/FirExposedVisibilityDeclarationChecker.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.resolve.fullyExpandedType import org.jetbrains.kotlin.fir.resolve.toSymbol +import org.jetbrains.kotlin.fir.resolve.transformers.ensureResolved import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.utils.addToStdlib.safeAs @@ -185,7 +186,10 @@ object FirExposedVisibilityDeclarationChecker : FirMemberDeclarationChecker() { base: FirEffectiveVisibility ): FirMemberDeclaration? { val type = this as? ConeClassLikeType ?: return null - val fir = type.fullyExpandedType(context.session).lookupTag.toSymbol(context.session)?.fir ?: return null + val fir = type.fullyExpandedType(context.session).lookupTag.toSymbol(context.session)?.let { firSymbol -> + firSymbol.ensureResolved(FirResolvePhase.STATUS, context.session) + firSymbol.fir + } ?: return null if (fir is FirMemberDeclaration) { when (fir.getEffectiveVisibility(context).relation(base)) {