[FIR] Use default language settings in inference components

Without settings common inference components require additional parameters
to be passed explicitly from components not shared between FIR and FE10.
Proper configuration can be postponed in FIR, defaults are good enough for now.

^KT-42080 In progress
This commit is contained in:
Pavel Kirpichenkov
2020-09-28 14:48:33 +03:00
parent dba1b50aed
commit 8f31b1ca83
12 changed files with 30 additions and 70 deletions
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.resolve
import org.jetbrains.kotlin.builtins.PlatformToKotlinClassMapper
import org.jetbrains.kotlin.container.*
import org.jetbrains.kotlin.resolve.calls.checkers.*
import org.jetbrains.kotlin.resolve.calls.inference.InferenceCompatibilityCheckerImpl
import org.jetbrains.kotlin.resolve.calls.results.TypeSpecificityComparator
import org.jetbrains.kotlin.resolve.checkers.*
import org.jetbrains.kotlin.resolve.lazy.DelegationFilter
@@ -110,7 +109,6 @@ abstract class PlatformConfiguratorBase(
override fun configureModuleDependentCheckers(container: StorageComponentContainer) {
container.useImpl<ExperimentalMarkerDeclarationAnnotationChecker>()
container.useImpl<InferenceCompatibilityCheckerImpl>()
}
fun configureExtensionsAndCheckers(container: StorageComponentContainer) {
@@ -82,12 +82,9 @@ class CoroutineInferenceSession(
return !storage.notFixedTypeVariables.keys.any {
val variable = storage.allTypeVariables[it]
val isPostponed = variable != null && variable in storage.postponedTypeVariables
val useInferenceCompatibilityMode =
topLevelCallContext.languageVersionSettings.supportsFeature(LanguageFeature.InferenceCompatibility)
!isPostponed && !kotlinConstraintSystemCompleter.variableFixationFinder.isTypeVariableHasProperConstraint(
system,
it,
useInferenceCompatibilityMode
)
} || candidate.getSubResolvedAtoms().any { it.hasPostponed() }
}