IDEA-143075 Autocompletion not working when an inner compiled enum is named "v1"

This commit is contained in:
peter
2015-07-24 12:56:29 +02:00
parent 184af5719c
commit d2056e2d52
3 changed files with 19 additions and 2 deletions
@@ -32,7 +32,6 @@ import com.intellij.psi.impl.PsiImplUtil;
import com.intellij.psi.impl.PsiManagerEx;
import com.intellij.psi.impl.source.SourceJavaCodeReference;
import com.intellij.psi.impl.source.SourceTreeToPsiMap;
import com.intellij.psi.impl.source.codeStyle.CodeEditUtil;
import com.intellij.psi.impl.source.resolve.*;
import com.intellij.psi.impl.source.tree.*;
import com.intellij.psi.infos.CandidateInfo;
@@ -492,6 +491,11 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple
return false;
}
PsiClass containingClass = aClass.getContainingClass();
if (containingClass != null && !seemsScrambled(containingClass)) {
return false;
}
final String name = aClass.getName();
return name != null && !name.isEmpty() && name.length() <= 2;
}
@@ -31,7 +31,6 @@ import com.intellij.testFramework.PsiTestUtil
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase
import com.intellij.ui.JBColor
import org.jetbrains.annotations.NotNull
/**
* @author peter
*/
@@ -204,4 +203,18 @@ public class SocketChannel {
assert p.itemTextForeground == JBColor.foreground()
}
public void "test seemingly scrambled subclass"() {
PsiTestUtil.addLibrary(myModule, JavaTestUtil.getJavaTestDataPath() + "/codeInsight/completion/normal/seemsScrambled.jar")
myFixture.configureByText 'a.java', '''import test.Books;
class Foo {{ Books.Test.v<caret> }}
'''
myFixture.completeBasic()
myFixture.checkResult '''import test.Books;
class Foo {{ Books.Test.v1<caret> }}
'''
}
}