IDEA-186789 Completion in empty java file doesn't suggest access modifiers

This commit is contained in:
peter
2018-02-16 18:18:53 +01:00
parent d072c7cad2
commit 131f679016
3 changed files with 11 additions and 8 deletions
@@ -136,12 +136,11 @@ public class ModifierChooser {
private static boolean shouldSuggestModifiers(PsiElement element) {
PsiElement parent = element.getParent();
while (parent != null && (parent instanceof PsiJavaCodeReferenceElement ||
parent instanceof PsiErrorElement || parent instanceof PsiTypeElement ||
parent instanceof PsiMethod || parent instanceof PsiVariable ||
parent instanceof PsiDeclarationStatement || parent instanceof PsiImportList ||
parent instanceof PsiDocComment ||
element.getText().equals(parent.getText()))) {
while (parent instanceof PsiJavaCodeReferenceElement ||
parent instanceof PsiErrorElement || parent instanceof PsiTypeElement ||
parent instanceof PsiMethod || parent instanceof PsiVariable ||
parent instanceof PsiDeclarationStatement || parent instanceof PsiImportList ||
parent instanceof PsiDocComment) {
parent = parent.getParent();
if (parent instanceof JspClassLevelDeclarationStatement) {
parent = parent.getContext();
@@ -1 +1 @@
<caret>
<caret>
@@ -45,7 +45,11 @@ public class KeywordCompletionTest extends LightCompletionTestCase {
return JavaTestUtil.getJavaTestDataPath();
}
public void testFileScope1() { doTest(8, FILE_SCOPE_KEYWORDS); }
public void testFileScope1() {
doTest(8, "package", "public", "import", "final", "class", "interface", "abstract", "enum");
assertNotContainItems("private", "default");
}
public void testFileScopeAfterComment() { doTest(4, "package", "class", "import", "public", "private"); }
public void testFileScopeAfterJavaDoc() { doTest(4, "package", "class", "import", "public", "private"); }
public void testFileScopeAfterJavaDocInsideModifierList() { doTest(2, "class", "public"); }