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-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-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
|
#### Debugger
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -33,6 +33,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.psi.psiUtil.parents
|
import org.jetbrains.kotlin.psi.psiUtil.parents
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
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.inline.InlineUtil
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.Receiver
|
import org.jetbrains.kotlin.resolve.scopes.receivers.Receiver
|
||||||
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
|
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
|
if (isDifferentReceiver(resolvedCall.dispatchReceiver)) return false
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
fun Any.foo() {
|
fun Any.foo() {
|
||||||
with("different extension receiver") {
|
with("different extension receiver") {
|
||||||
foo()
|
<lineMarker>foo</lineMarker>()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
fun Any.f(a: Int) {
|
fun Any.f(a: Int) {
|
||||||
"".f(1)
|
"".<lineMarker>f</lineMarker>(1)
|
||||||
this.<lineMarker>f</lineMarker>(2)
|
this.<lineMarker>f</lineMarker>(2)
|
||||||
<lineMarker>f</lineMarker>(3)
|
<lineMarker>f</lineMarker>(3)
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user