show location package in chained call items (IDEA-58766)

This commit is contained in:
peter
2012-02-08 19:22:41 +01:00
parent 3bf3a8f187
commit c2125f8ac5
3 changed files with 24 additions and 1 deletions
@@ -19,11 +19,13 @@ import com.intellij.codeInsight.lookup.*;
import com.intellij.featureStatistics.FeatureUsageTracker;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.util.ClassConditionKey;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
import com.intellij.psi.util.PsiTreeUtil;
import gnu.trove.THashSet;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Set;
@@ -65,11 +67,16 @@ public class JavaChainLookupElement extends LookupElementDecorator<LookupElement
}
private String maybeAddParentheses(String s) {
return getQualifierObject() instanceof PsiMethod ? s + "()" : s;
}
@Nullable
private Object getQualifierObject() {
Object qObject = myQualifier.getObject();
if (qObject instanceof ResolveResult) {
qObject = ((ResolveResult)qObject).getElement();
}
return qObject instanceof PsiMethod ? s + "()" : s;
return qObject;
}
@Override
@@ -80,6 +87,10 @@ public class JavaChainLookupElement extends LookupElementDecorator<LookupElement
String name = maybeAddParentheses(qualifierPresentation.getItemText());
final String qualifierText = myQualifier.as(CastingLookupElementDecorator.CLASS_CONDITION_KEY) != null ? "(" + name + ")" : name;
presentation.setItemText(qualifierText + "." + presentation.getItemText());
if (getQualifierObject() instanceof PsiClass) {
presentation.setTailText(StringUtil.notNullize(presentation.getTailText()) + qualifierPresentation.getTailText());
}
}
@Override