Inject languageVersionSettings into VarianceChecker

This commit is contained in:
Mikhail Glukhikh
2022-03-03 12:42:52 +03:00
committed by Space
parent ebed224f82
commit eb42a01926
2 changed files with 6 additions and 8 deletions
@@ -218,7 +218,7 @@ class LazyTopDownAnalyzer(
overrideResolver.check(c)
varianceChecker.check(c, languageVersionSettings)
varianceChecker.check(c)
declarationResolver.resolveAnnotationsOnFiles(c, fileScopeProvider)
@@ -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)