IDEA-244569 Complete 'interface' and 'enum' keywords on Java 15-preview

GitOrigin-RevId: 0cfd42a15e77b274c6d578303d6f274cb3dae4f4
This commit is contained in:
Tagir Valeev
2020-06-25 18:56:48 +03:00
committed by intellij-monorepo-bot
parent 2496d8598b
commit 0fd1b427f7
7 changed files with 45 additions and 0 deletions
@@ -547,6 +547,12 @@ public class JavaKeywordCompletion {
if (HighlightingFeature.RECORDS.isAvailable(myPosition)) {
addKeyword(new OverridableSpace(createKeyword(PsiKeyword.RECORD), TailType.HUMBLE_SPACE_BEFORE_WORD));
}
if (HighlightingFeature.LOCAL_ENUMS.isAvailable(myPosition)) {
addKeyword(new OverridableSpace(createKeyword(PsiKeyword.ENUM), TailType.HUMBLE_SPACE_BEFORE_WORD));
}
if (HighlightingFeature.LOCAL_INTERFACES.isAvailable(myPosition)) {
addKeyword(new OverridableSpace(createKeyword(PsiKeyword.INTERFACE), TailType.HUMBLE_SPACE_BEFORE_WORD));
}
}
if (PsiTreeUtil.getParentOfType(myPosition, PsiExpression.class, true, PsiMember.class) == null &&
PsiTreeUtil.getParentOfType(myPosition, PsiCodeBlock.class, true, PsiMember.class) == null) {
@@ -0,0 +1,6 @@
class Test {
void test() {
en<caret>
}
}
@@ -0,0 +1,6 @@
class Test {
void test() {
enum <caret>
}
}
@@ -0,0 +1,6 @@
class Test {
void test() {
inte<caret>
}
}
@@ -0,0 +1,6 @@
class Test {
void test() {
interface <caret>
}
}
@@ -0,0 +1,6 @@
class Test {
void test() {
inte<caret>
}
}
@@ -188,6 +188,15 @@ public class KeywordCompletionTest extends LightCompletionTestCase {
public void testQualifiedNew() { doTest(1, "new"); }
public void testRecord() {setLanguageLevel(LanguageLevel.JDK_14_PREVIEW); doTest(); }
public void testRecordInFileScope() {setLanguageLevel(LanguageLevel.JDK_14_PREVIEW); doTest(1, "record"); }
public void testNoLocalInterfaceAt15() {
setLanguageLevel(LanguageLevel.JDK_15); doTest(0);
}
public void testLocalInterface() {
setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest();
}
public void testLocalEnum() {
setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest();
}
public void testSealedModifier() {setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest(1, "sealed"); }
public void testPermitsList() {setLanguageLevel(LanguageLevel.JDK_15_PREVIEW); doTest(1, "permits"); }