Do not consider fake variables for objects in :: resolution

The main change is in
NewResolutionOldInference.ResolutionKind.CallableReference, where
createVariableProcessor creates a processor which no longer lists objects

 #KT-12322 Fixed
This commit is contained in:
Alexander Udalov
2016-06-28 15:31:30 +03:00
parent f290f1be68
commit b44f060ffa
9 changed files with 74 additions and 15 deletions
@@ -75,17 +75,16 @@ class NewResolutionOldInference(
val invokeContext = outer.InvokeContext(scopeTower, name, context, tracing)
return outer.createFunctionTowerProcessor(invokeContext, explicitReceiver)
}
}
object Variable : ResolutionKind<VariableDescriptor>() {
override fun createTowerProcessor(
outer: NewResolutionOldInference, name: Name, tracing: TracingStrategy,
scopeTower: ScopeTower, explicitReceiver: Receiver?, context: BasicCallResolutionContext
): ScopeTowerProcessor<MyCandidate<VariableDescriptor>> {
val simpleContext = outer.SimpleContext<VariableDescriptor>(scopeTower, name, context, tracing)
return createVariableProcessor(simpleContext, explicitReceiver)
return createVariableAndObjectProcessor(simpleContext, explicitReceiver)
}
}
object CallableReference : ResolutionKind<CallableDescriptor>() {