From 695c0350bc1110330283136c20422e6fb0a50ffd Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 24 Mar 2011 18:40:03 +0100 Subject: [PATCH] !(JavaCompletionParameters instanceof CompletionParameters) --- .../CollectionsUtilityMethodsProvider.java | 4 ++-- .../completion/JavaSmartCompletionParameters.java | 14 ++++++++++++-- .../ReferenceExpressionCompletionContributor.java | 8 ++++---- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java b/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java index a9f93fdde07b..52e325db6aaf 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/CollectionsUtilityMethodsProvider.java @@ -42,7 +42,7 @@ class CollectionsUtilityMethodsProvider { final PsiType type = parameters.getExpectedType(); final PsiType defaultType = parameters.getDefaultType(); final PsiElement pparent = parent.getParent(); - if (parameters.getInvocationCount() > 1 || + if (parameters.getParameters().getInvocationCount() > 1 || pparent instanceof PsiReturnStatement || pparent instanceof PsiConditionalExpression && pparent.getParent() instanceof PsiReturnStatement) { addCollectionMethod(result, type, defaultType, JAVA_UTIL_LIST, "emptyList", collectionsClass); @@ -50,7 +50,7 @@ class CollectionsUtilityMethodsProvider { addCollectionMethod(result, type, defaultType, JAVA_UTIL_MAP, "emptyMap", collectionsClass); } - if (parameters.getInvocationCount() > 1) { + if (parameters.getParameters().getInvocationCount() > 1) { addCollectionMethod(result, type, defaultType, JAVA_UTIL_LIST, "singletonList", collectionsClass); addCollectionMethod(result, type, defaultType, JAVA_UTIL_SET, "singleton", collectionsClass); addCollectionMethod(result, type, defaultType, JAVA_UTIL_MAP, "singletonMap", collectionsClass); diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionParameters.java b/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionParameters.java index b3aaf854c9bc..9796a359b44c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionParameters.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/JavaSmartCompletionParameters.java @@ -15,17 +15,19 @@ */ package com.intellij.codeInsight.completion; +import com.intellij.psi.PsiElement; import com.intellij.psi.PsiType; import com.intellij.codeInsight.ExpectedTypeInfo; /** * @author peter */ -public class JavaSmartCompletionParameters extends CompletionParameters{ +public class JavaSmartCompletionParameters { + private final CompletionParameters myParameters; private final ExpectedTypeInfo myExpectedType; public JavaSmartCompletionParameters(CompletionParameters parameters, final ExpectedTypeInfo expectedType) { - super(parameters.getPosition(), parameters.getOriginalFile(), parameters.getCompletionType(), parameters.getOffset(), parameters.getInvocationCount()); + myParameters = parameters; myExpectedType = expectedType; } @@ -36,4 +38,12 @@ public class JavaSmartCompletionParameters extends CompletionParameters{ public PsiType getDefaultType() { return myExpectedType.getDefaultType(); } + + public PsiElement getPosition() { + return myParameters.getPosition(); + } + + public CompletionParameters getParameters() { + return myParameters; + } } diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java b/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java index 128fdc78843a..fafdeab63df0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/ReferenceExpressionCompletionContributor.java @@ -110,7 +110,7 @@ public class ReferenceExpressionCompletionContributor { final PsiElement element = parameters.getPosition(); if (JavaSmartCompletionContributor.INSIDE_TYPECAST_EXPRESSION.accepts(element)) return; - final int offset = parameters.getOffset(); + final int offset = parameters.getParameters().getOffset(); final PsiReference reference = element.getContainingFile().findReferenceAt(offset); if (reference != null) { final ElementFilter filter = getReferenceFilter(element, false); @@ -118,9 +118,9 @@ public class ReferenceExpressionCompletionContributor { result.consume(item); } - final boolean secondTime = parameters.getInvocationCount() >= 2; + final boolean secondTime = parameters.getParameters().getInvocationCount() >= 2; - for (final LookupElement item : JavaSmartCompletionContributor.completeReference(element, reference, filter, false, parameters)) { + for (final LookupElement item : JavaSmartCompletionContributor.completeReference(element, reference, filter, false, parameters.getParameters())) { addSingleArrayElementAccess(element, item, parameters, result); if (secondTime) { @@ -164,7 +164,7 @@ public class ReferenceExpressionCompletionContributor { public boolean isClassAcceptable(Class hintClass) { return true; } - }), false, parameters); + }), false, parameters.getParameters()); for (LookupElement lookupElement : elements) { if (lookupElement.getObject() instanceof PsiMethod) { final JavaMethodCallElement item = lookupElement.as(JavaMethodCallElement.CLASS_CONDITION_KEY);