From ccc3a2d45f22509cee22663dfe52daa4e8681691 Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Fri, 11 Jul 2025 16:46:17 +0200 Subject: [PATCH] IJ-CR-168246: Review fixes GitOrigin-RevId: a6a42bd3cee9554e353857f659454be68d8beee1 --- .../impl/ShowIntentionActionsHandler.java | 2 +- .../codeInsight/navigation/PsiTargetNavigator.kt | 9 ++------- .../createFromUsage/CreateFromUsageUtil.kt | 15 +++------------ 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java index ba62d61ebc3a..072aa2502103 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java @@ -343,7 +343,7 @@ public class ShowIntentionActionsHandler implements CodeInsightActionHandler { PsiFile psiFile = pair.first; Editor editor = pair.second; - if (fixOffset != -1) { + if (maybeInjectedFixOffset != -1) { Document document = editor.getDocument(); if (document instanceof DocumentWindow) { maybeInjectedFixOffset = ((DocumentWindow)document).hostToInjected(fixOffset); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/PsiTargetNavigator.kt b/platform/lang-impl/src/com/intellij/codeInsight/navigation/PsiTargetNavigator.kt index dc247fc336fa..352f46acd508 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/PsiTargetNavigator.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/PsiTargetNavigator.kt @@ -131,15 +131,10 @@ class PsiTargetNavigator(val supplier: Supplier>) { ItemWithPresentation(SmartPointerManager.createPointer(it), presentationProvider.getPresentation(it)) } - val selected = if (selection == null){ + val selected = if (selection == null) { null } else { - val index = elements.indexOf(selection) - if (index == -1) { - null - } else { - list[index] - } + list.getOrNull(elements.indexOf(selection)) } Pair(list, selected) } diff --git a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/CreateFromUsageUtil.kt b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/CreateFromUsageUtil.kt index 9a596cf5d597..9fe386d26895 100644 --- a/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/CreateFromUsageUtil.kt +++ b/plugins/kotlin/code-insight/impl-base/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/CreateFromUsageUtil.kt @@ -32,7 +32,9 @@ object CreateFromUsageUtil { val psiFactory = KtPsiFactory(container.project) val newLine = psiFactory.createNewLine() - val actualContainer = (container as? KtClassOrObject)?.getOrCreateBody() ?: getActualContainerForScript(container) + val actualContainer = (container as? KtClassOrObject)?.getOrCreateBody() + ?: (container as? KtFile)?.script?.blockExpression + ?: container val declarationInPlace = when { declaration is KtPrimaryConstructor -> { @@ -236,15 +238,4 @@ object CreateFromUsageUtil { actualContainer.addAfter(declaration, sibling) } as D } - - /** - * In scripts, no elements should exist outside the main block expression - */ - private fun getActualContainerForScript(container: PsiElement): PsiElement { - return if ((container as? KtFile)?.isScript() == true) { - container.script?.blockExpression ?: container - } else { - container - } - } } \ No newline at end of file