Line Markers: Show recursion line markers for extension function calls with different receivers
#KT-11495 Fixed
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
+1
-1
@@ -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
-1
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user