diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt index 74dd890406a..73d735018ac 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/tower/ScopeTowerProcessors.kt @@ -65,13 +65,12 @@ internal abstract class AbstractSimpleScopeTowerProcessor( ) : SimpleScopeTowerProcessor { fun createCandidates( collector: Collection, - f:(Boolean)->Boolean, kind: ExplicitReceiverKind, receiver: ReceiverValueWithSmartCastInfo? ) : Collection { val result = mutableListOf() for (candidate in collector) { - if (f(candidate.requiresExtensionReceiver)) { + if (candidate.requiresExtensionReceiver == (receiver != null)) { result.add( candidateFactory.createCandidate( candidate, @@ -98,13 +97,11 @@ internal class ExplicitReceiverScopeTowerProcessor( return when (data) { TowerData.Empty -> createCandidates( MemberScopeTowerLevel(scopeTower, explicitReceiver).collectCandidates(null), - { !it }, ExplicitReceiverKind.DISPATCH_RECEIVER, null ) is TowerData.TowerLevel -> createCandidates( data.level.collectCandidates(explicitReceiver), - { it }, ExplicitReceiverKind.EXTENSION_RECEIVER, explicitReceiver ) @@ -132,7 +129,6 @@ private class QualifierScopeTowerProcessor( return createCandidates( QualifierScopeTowerLevel(scopeTower, qualifier).collectCandidates(null), - { !it }, ExplicitReceiverKind.NO_EXPLICIT_RECEIVER, null ) @@ -149,13 +145,11 @@ private class NoExplicitReceiverScopeTowerProcessor( override fun simpleProcess(data: TowerData): Collection = when (data) { is TowerData.TowerLevel -> createCandidates( data.level.collectCandidates(null), - { !it }, ExplicitReceiverKind.NO_EXPLICIT_RECEIVER, null ) is TowerData.BothTowerLevelAndImplicitReceiver -> createCandidates( data.level.collectCandidates(data.implicitReceiver), - { it }, ExplicitReceiverKind.NO_EXPLICIT_RECEIVER, data.implicitReceiver )