diff --git a/idea/idea-frontend-independent/src/org/jetbrains/kotlin/idea/intentions/SelfTargetingIntention.kt b/idea/idea-frontend-independent/src/org/jetbrains/kotlin/idea/intentions/SelfTargetingIntention.kt index 7f4f20db8e1..f92ac860257 100644 --- a/idea/idea-frontend-independent/src/org/jetbrains/kotlin/idea/intentions/SelfTargetingIntention.kt +++ b/idea/idea-frontend-independent/src/org/jetbrains/kotlin/idea/intentions/SelfTargetingIntention.kt @@ -79,7 +79,7 @@ abstract class SelfTargetingIntention( if (elementType.isInstance(element) && isApplicableTo(element as TElement, offset)) { return element } - if (!allowCaretInsideElement(element) && element.textRange.containsInside(offset)) break + if (element.textRange.containsInside(offset) && !allowCaretInsideElement(element)) break } return null } @@ -89,6 +89,7 @@ abstract class SelfTargetingIntention( return getTarget(offset, file) } + /** Whether to keep looking for targets after having processed the given element, which contains the cursor. */ protected open fun allowCaretInsideElement(element: PsiElement): Boolean = element !is KtBlockExpression final override fun isAvailable(project: Project, editor: Editor, file: PsiFile): Boolean {