From 599a0d9c2b2a9cc9d3df49076e9bd2e8e9ebf464 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 11 Mar 2021 12:46:14 +0300 Subject: [PATCH] Minor fixes in FirTypeParameterInQualifiedAccessChecker --- .../FirTypeParameterInQualifiedAccessChecker.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirTypeParameterInQualifiedAccessChecker.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirTypeParameterInQualifiedAccessChecker.kt index a3f89b03f49..8a367f1c242 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirTypeParameterInQualifiedAccessChecker.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/expression/FirTypeParameterInQualifiedAccessChecker.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeTypeParameterInQualified import org.jetbrains.kotlin.fir.types.FirErrorTypeRef import org.jetbrains.kotlin.fir.types.FirTypeRef -object FirTypeParameterInQualifiedAccessChecker: FirQualifiedAccessChecker() { +object FirTypeParameterInQualifiedAccessChecker : FirQualifiedAccessChecker() { override fun check(expression: FirQualifiedAccessExpression, context: CheckerContext, reporter: DiagnosticReporter) { checkExplicitReceiver(expression, context, reporter) checkExpressionItself(expression, context, reporter) @@ -42,14 +42,15 @@ object FirTypeParameterInQualifiedAccessChecker: FirQualifiedAccessChecker() { context: CheckerContext, reporter: DiagnosticReporter ) { + val explicitReceiver = expression.explicitReceiver val typeParameterSymbol = - expression.explicitReceiver?.typeRef?.coneTypeParameterInQualifiedAccess?.symbol - ?: (expression.explicitReceiver as? FirResolvedReifiedParameterReference)?.symbol + (explicitReceiver as? FirResolvedReifiedParameterReference)?.symbol + ?: explicitReceiver?.typeRef?.coneTypeParameterInQualifiedAccess?.symbol ?: return if (expression is FirCallableReferenceAccess) { reporter.reportOn(expression.source, FirErrors.CALLABLE_REFERENCE_LHS_NOT_A_CLASS, context) } else { - reporter.reportOn(expression.explicitReceiver?.source, FirErrors.TYPE_PARAMETER_ON_LHS_OF_DOT, typeParameterSymbol, context) + reporter.reportOn(explicitReceiver?.source, FirErrors.TYPE_PARAMETER_ON_LHS_OF_DOT, typeParameterSymbol, context) } }