diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/TowerResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/TowerResolver.kt index 0befbd781a4..520ec22fd76 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/TowerResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tower/TowerResolver.kt @@ -90,18 +90,17 @@ class TowerResolver { return null } - // possible there is explicit member - collectCandidates(TowerData.Empty)?.let { return it } for (implicitReceiver in context.scopeTower.implicitReceivers) { collectCandidates(TowerData.OnlyImplicitReceiver(implicitReceiver))?.let { return it } } + // possible there is explicit member + collectCandidates(TowerData.Empty)?.let { return it } for (level in context.scopeTower.levels) { - collectCandidates(TowerData.TowerLevel(level))?.let { return it } - for (implicitReceiver in context.scopeTower.implicitReceivers) { collectCandidates(TowerData.BothTowerLevelAndImplicitReceiver(level, implicitReceiver))?.let { return it } } + collectCandidates(TowerData.TowerLevel(level))?.let { return it } } return resultCollector.getFinalCandidates() diff --git a/compiler/testData/resolve/candidatesPriority/closerReceiver3.resolve b/compiler/testData/resolve/candidatesPriority/closerReceiver3.resolve index 532481e4b7a..d0d5d202b21 100644 --- a/compiler/testData/resolve/candidatesPriority/closerReceiver3.resolve +++ b/compiler/testData/resolve/candidatesPriority/closerReceiver3.resolve @@ -3,5 +3,5 @@ class B { ~foo~fun foo() = 1 ~A.foo~fun A.foo() = 2 - fun A.bar() = `foo`foo() + fun A.bar() = `A.foo`foo() } diff --git a/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver.resolve b/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver.resolve index 6dcaa611374..eea8bd26452 100644 --- a/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver.resolve +++ b/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver.resolve @@ -2,5 +2,5 @@ ~foo~fun foo() = 2 class A { - fun test() = `foo`foo() + fun test() = `A.foo`foo() } \ No newline at end of file diff --git a/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver2.resolve b/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver2.resolve index 446c819a041..d17bc696177 100644 --- a/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver2.resolve +++ b/compiler/testData/resolve/candidatesPriority/implicitThisVsNoReceiver2.resolve @@ -5,7 +5,7 @@ class A { fun test(a: A) { with (a) { - `simple`foo() + `extension`foo() } }