Allow skipping extensions resolution for implicit receivers
This commit is contained in:
committed by
Ilya Chernikov
parent
e93bcc55ae
commit
017f640f26
+3
-1
@@ -74,6 +74,7 @@ class NewResolutionOldInference(
|
||||
private val coroutineInferenceSupport: CoroutineInferenceSupport,
|
||||
private val deprecationResolver: DeprecationResolver,
|
||||
private val typeApproximator: TypeApproximator,
|
||||
private val implicitsResolutionFilter: ImplicitsExtensionsResolutionFilter,
|
||||
private val callResolver: CallResolver,
|
||||
private val candidateInterceptor: CandidateInterceptor
|
||||
) {
|
||||
@@ -174,7 +175,7 @@ class NewResolutionOldInference(
|
||||
|
||||
val dynamicScope = dynamicCallableDescriptors.createDynamicDescriptorScope(context.call, context.scope.ownerDescriptor)
|
||||
val scopeTower = ImplicitScopeTowerImpl(
|
||||
context, dynamicScope, syntheticScopes, context.call.createLookupLocation(), typeApproximator, callResolver, candidateInterceptor
|
||||
context, dynamicScope, syntheticScopes, context.call.createLookupLocation(), typeApproximator, implicitsResolutionFilter, callResolver, candidateInterceptor
|
||||
)
|
||||
|
||||
val shouldUseOperatorRem = languageVersionSettings.supportsFeature(LanguageFeature.OperatorRem)
|
||||
@@ -362,6 +363,7 @@ class NewResolutionOldInference(
|
||||
override val syntheticScopes: SyntheticScopes,
|
||||
override val location: LookupLocation,
|
||||
override val typeApproximator: TypeApproximator,
|
||||
override val implicitsResolutionFilter: ImplicitsExtensionsResolutionFilter,
|
||||
val callResolver: CallResolver,
|
||||
val candidateInterceptor: CandidateInterceptor
|
||||
) : ImplicitScopeTower {
|
||||
|
||||
@@ -61,6 +61,7 @@ class PSICallResolver(
|
||||
private val kotlinToResolvedCallTransformer: KotlinToResolvedCallTransformer,
|
||||
private val kotlinCallResolver: KotlinCallResolver,
|
||||
private val typeApproximator: TypeApproximator,
|
||||
private val implicitsResolutionFilter: ImplicitsExtensionsResolutionFilter,
|
||||
private val argumentTypeResolver: ArgumentTypeResolver,
|
||||
private val effectSystem: EffectSystem,
|
||||
private val constantExpressionEvaluator: ConstantExpressionEvaluator,
|
||||
@@ -393,6 +394,7 @@ class PSICallResolver(
|
||||
override val isNewInferenceEnabled: Boolean get() = context.languageVersionSettings.supportsFeature(LanguageFeature.NewInference)
|
||||
override val lexicalScope: LexicalScope get() = context.scope
|
||||
override val typeApproximator: TypeApproximator get() = this@PSICallResolver.typeApproximator
|
||||
override val implicitsResolutionFilter: ImplicitsExtensionsResolutionFilter get() = this@PSICallResolver.implicitsResolutionFilter
|
||||
private val cache = HashMap<ReceiverParameterDescriptor, ReceiverValueWithSmartCastInfo>()
|
||||
|
||||
override fun getImplicitReceiver(scope: LexicalScope): ReceiverValueWithSmartCastInfo? {
|
||||
|
||||
Reference in New Issue
Block a user