IDEA-140294 If you declare a variable and initialize it on the same line, autocomplete will suggest the new variable in that line

This commit is contained in:
peter
2015-05-15 17:25:39 +02:00
parent 84ccf388f1
commit 7ea7daa29a
4 changed files with 17 additions and 4 deletions
@@ -161,10 +161,9 @@ public class JavaCompletionContributor extends CompletionContributor {
return createAnnotationFilter(position);
}
if (psiElement().afterLeaf("=").inside(PsiVariable.class).accepts(position)) {
return new OrFilter(
new ClassFilter(PsiVariable.class, false),
new ExcludeDeclaredFilter(new ClassFilter(PsiVariable.class)));
PsiVariable var = PsiTreeUtil.getParentOfType(position, PsiVariable.class, false, PsiClass.class);
if (var != null && PsiTreeUtil.isAncestor(var.getInitializer(), position, false)) {
return new ExcludeDeclaredFilter(new ClassFilter(PsiVariable.class));
}
if (SWITCH_LABEL.accepts(position)) {
@@ -0,0 +1,6 @@
public class MyFirstTestClassFoo {
{
String newVar = String.valueOf(newV<caret>)
}
}
@@ -0,0 +1,6 @@
public class MyFirstTestClassFoo {
{
String newVar = "" + newV<caret>)
}
}
@@ -676,6 +676,8 @@ public class ListUtils {
public void testNothingAfterNumericLiteral() throws Throwable { doAntiTest(); }
public void testNothingAfterTypeParameterQualifier() { doAntiTest(); }
public void testExcludeVariableBeingDeclared() { doAntiTest(); }
public void testExcludeVariableBeingDeclared2() { doAntiTest(); }
public void testSpacesAroundEq() throws Throwable { doTest('='); }