Line Markers: Show recursion line markers for extension function calls with different receivers

#KT-11495 Fixed
This commit is contained in:
Alexey Sedunov
2016-04-13 15:15:34 +03:00
parent c93e13e28d
commit 3c79eab2fd
4 changed files with 4 additions and 3 deletions
+1
View File
@@ -15,6 +15,7 @@ Issues fixed:
- [KT-11145](https://youtrack.jetbrains.com/issue/KT-11145) Use progress indicator when searching usages in Introduce Parameter
- [KT-11155](https://youtrack.jetbrains.com/issue/KT-11155) Allow running multiple Kotlin classes as well as running mixtures of Kotlin and Java classes
- [KT-11495](https://youtrack.jetbrains.com/issue/KT-11495) Show recursion line markers for extension function calls with different receiver
#### Debugger
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.parents
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.descriptorUtil.isExtension
import org.jetbrains.kotlin.resolve.inline.InlineUtil
import org.jetbrains.kotlin.resolve.scopes.receivers.Receiver
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
@@ -104,7 +105,6 @@ class KotlinRecursiveCallLineMarkerProvider() : LineMarkerProvider {
}
}
if (isDifferentReceiver(resolvedCall.extensionReceiver)) return false
if (isDifferentReceiver(resolvedCall.dispatchReceiver)) return false
return true
}
@@ -1,6 +1,6 @@
fun Any.foo() {
with("different extension receiver") {
foo()
<lineMarker>foo</lineMarker>()
}
}
@@ -1,5 +1,5 @@
fun Any.f(a: Int) {
"".f(1)
"".<lineMarker>f</lineMarker>(1)
this.<lineMarker>f</lineMarker>(2)
<lineMarker>f</lineMarker>(3)
}