From 778df36dfaac9b877a8399c285fef8ae0f245c05 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Fri, 1 Jun 2018 20:55:13 +0300 Subject: [PATCH] Debugger: Exclude inline callable usages inside itself (EA-117459) --- .../kotlin/idea/debugger/InlineCallableUsagesSearcher.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/InlineCallableUsagesSearcher.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/InlineCallableUsagesSearcher.kt index 548ffc54b8d..71d75410501 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/InlineCallableUsagesSearcher.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/debugger/InlineCallableUsagesSearcher.kt @@ -36,6 +36,8 @@ import org.jetbrains.kotlin.idea.util.ProjectRootsUtil import org.jetbrains.kotlin.idea.util.application.runReadAction import org.jetbrains.kotlin.psi.KtDeclaration import org.jetbrains.kotlin.psi.KtElement +import org.jetbrains.kotlin.psi.psiUtil.isAncestor +import org.jetbrains.kotlin.psi.psiUtil.isInsideOf import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.inline.InlineUtil @@ -56,7 +58,7 @@ class InlineCallableUsagesSearcher(private val myDebugProcess: DebugProcess) { ReferencesSearch.search(declaration, getScopeForInlineDeclarationUsages(declaration)).forEach { if (!runReadAction { it.isImportUsage() }) { val usage = (it.element as? KtElement)?.let(::getRelevantElement) - if (usage != null) { + if (usage != null && !runReadAction { declaration.isAncestor(usage) }) { searchResult.add(usage) } }