diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallElement.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallElement.java index 2c7275accd5e..8f93eeec1ceb 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallElement.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaMethodCallElement.java @@ -175,11 +175,18 @@ public class JavaMethodCallElement extends LookupItem implements Type } } - if (hasParams && context.getCompletionChar() != Lookup.COMPLETE_STATEMENT_SELECT_CHAR && Registry.is("java.completion.argument.live.template")) { + context.commitDocument(); + if (hasParams && context.getCompletionChar() != Lookup.COMPLETE_STATEMENT_SELECT_CHAR && Registry.is("java.completion.argument.live.template") && isArgumentListEmpty(context)) { startArgumentLiveTemplate(context, method); } } + private static boolean isArgumentListEmpty(InsertionContext context) { + PsiCallExpression call = PsiTreeUtil.findElementOfClassAtOffset(context.getFile(), context.getStartOffset(), PsiCallExpression.class, false); + PsiExpressionList argList = call == null ? null : call.getArgumentList(); + return argList != null && argList.getExpressions().length == 0; + } + private void importOrQualify(Document document, PsiFile file, PsiMethod method, int startOffset) { if (willBeImported()) { final PsiReferenceExpression ref = PsiTreeUtil.findElementOfClassAtOffset(file, startOffset, PsiReferenceExpression.class, false);