From 30ff1508fd5eae04bb4b69d31ce537ccd3657e74 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Sun, 12 Oct 2025 15:22:38 +0200 Subject: [PATCH] [java, completion] IJPL-207762 ImportQualifyAndInsertTypeParametersHandler is optional GitOrigin-RevId: 7259b1874000b2ecdbdb3f72778520c9e2c9c0d3 --- .../completion/JavaMethodCallInsertHandler.kt | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallInsertHandler.kt b/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallInsertHandler.kt index c938013ad68a..c0dabbc755e3 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallInsertHandler.kt +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallInsertHandler.kt @@ -72,7 +72,7 @@ public class JavaMethodCallInsertHandler( createDiamondInsertHandler(item), ParenthInsertHandler(), beforeHandler, - ImportQualifyAndInsertTypeParametersHandler(needImportOrQualify, needExplicitTypeParameters), + ImportQualifyAndInsertTypeParametersHandler.create(needImportOrQualify, needExplicitTypeParameters, item), MethodCallInstallerHandler(), MethodCallRegistrationHandler(), NegationInsertHandler(), @@ -194,10 +194,22 @@ private class ParenthInsertHandler : InsertHandler { } } -private class ImportQualifyAndInsertTypeParametersHandler( +private class ImportQualifyAndInsertTypeParametersHandler private constructor( private val needImportOrQualify: Boolean, private val needExplicitTypeParameters: Boolean, ) : InsertHandler { + + companion object { + fun create( + needImportOrQualify: Boolean, + needExplicitTypeParameters: Boolean, + item: JavaMethodCallElement, + ): InsertHandler? { + if (!needExplicitTypeParameters && item.helper == null) return null + return ImportQualifyAndInsertTypeParametersHandler(needImportOrQualify, needExplicitTypeParameters) + } + } + override fun handleInsert(context: InsertionContext, item: JavaMethodCallElement) { val document = context.document val file = context.file