From eb42a01926dffdae1f7d4f9977a5dc1479e2300f Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Thu, 3 Mar 2022 12:42:52 +0300 Subject: [PATCH] Inject languageVersionSettings into VarianceChecker --- .../jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt | 2 +- .../org/jetbrains/kotlin/resolve/VarianceChecker.kt | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt index 1b01a57e005..01be3bc3ce9 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.kt @@ -218,7 +218,7 @@ class LazyTopDownAnalyzer( overrideResolver.check(c) - varianceChecker.check(c, languageVersionSettings) + varianceChecker.check(c) declarationResolver.resolveAnnotationsOnFiles(c, fileScopeProvider) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/VarianceChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/VarianceChecker.kt index af223c89640..b78f75aa4fa 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/VarianceChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/VarianceChecker.kt @@ -42,11 +42,10 @@ import org.jetbrains.kotlin.types.checker.TypeCheckingProcedure class ManualVariance(val descriptor: TypeParameterDescriptor, val variance: Variance) -class VarianceChecker(trace: BindingTrace) { - private val core = VarianceCheckerCore(trace.bindingContext, trace) +class VarianceChecker(trace: BindingTrace, languageVersionSettings: LanguageVersionSettings) { + private val core = VarianceCheckerCore(trace.bindingContext, trace, languageVersionSettings = languageVersionSettings) - fun check(c: TopDownAnalysisContext, languageVersionSettings: LanguageVersionSettings) { - core.languageVersionSettings = languageVersionSettings + fun check(c: TopDownAnalysisContext) { core.check(c) } } @@ -60,10 +59,9 @@ class VarianceConflictDiagnosticData( class VarianceCheckerCore( val context: BindingContext, private val diagnosticSink: DiagnosticSink, - private val manualVariance: ManualVariance? = null + private val manualVariance: ManualVariance? = null, + private val languageVersionSettings: LanguageVersionSettings? = null ) { - internal var languageVersionSettings: LanguageVersionSettings? = null - fun check(c: TopDownAnalysisContext) { checkClasses(c) checkMembers(c)