Inject languageVersionSettings into VarianceChecker
This commit is contained in:
@@ -218,7 +218,7 @@ class LazyTopDownAnalyzer(
|
|||||||
|
|
||||||
overrideResolver.check(c)
|
overrideResolver.check(c)
|
||||||
|
|
||||||
varianceChecker.check(c, languageVersionSettings)
|
varianceChecker.check(c)
|
||||||
|
|
||||||
declarationResolver.resolveAnnotationsOnFiles(c, fileScopeProvider)
|
declarationResolver.resolveAnnotationsOnFiles(c, fileScopeProvider)
|
||||||
|
|
||||||
|
|||||||
@@ -42,11 +42,10 @@ import org.jetbrains.kotlin.types.checker.TypeCheckingProcedure
|
|||||||
|
|
||||||
class ManualVariance(val descriptor: TypeParameterDescriptor, val variance: Variance)
|
class ManualVariance(val descriptor: TypeParameterDescriptor, val variance: Variance)
|
||||||
|
|
||||||
class VarianceChecker(trace: BindingTrace) {
|
class VarianceChecker(trace: BindingTrace, languageVersionSettings: LanguageVersionSettings) {
|
||||||
private val core = VarianceCheckerCore(trace.bindingContext, trace)
|
private val core = VarianceCheckerCore(trace.bindingContext, trace, languageVersionSettings = languageVersionSettings)
|
||||||
|
|
||||||
fun check(c: TopDownAnalysisContext, languageVersionSettings: LanguageVersionSettings) {
|
fun check(c: TopDownAnalysisContext) {
|
||||||
core.languageVersionSettings = languageVersionSettings
|
|
||||||
core.check(c)
|
core.check(c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -60,10 +59,9 @@ class VarianceConflictDiagnosticData(
|
|||||||
class VarianceCheckerCore(
|
class VarianceCheckerCore(
|
||||||
val context: BindingContext,
|
val context: BindingContext,
|
||||||
private val diagnosticSink: DiagnosticSink,
|
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) {
|
fun check(c: TopDownAnalysisContext) {
|
||||||
checkClasses(c)
|
checkClasses(c)
|
||||||
checkMembers(c)
|
checkMembers(c)
|
||||||
|
|||||||
Reference in New Issue
Block a user