From 8e42a480abe95ccb2e9208ff761b600f3cc4cffe Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Thu, 5 Apr 2018 16:14:39 +0200 Subject: [PATCH] introduce highest registered level to be used in tests + fix sentence case IDEA-CR-31331 --- .../src/com/intellij/pom/java/LanguageLevel.java | 7 +++++++ java/java-psi-api/src/messages/JavaCoreBundle.properties | 2 +- .../com/intellij/java/parser/JavaParsingTestCase.java | 2 +- .../intellij/java/parser/partial/ExpressionParserTest.java | 6 ------ .../intellij/java/parser/partial/ReferenceParserTest.java | 6 ------ .../java/psi/formatter/java/JavaFormatterSpaceTest.java | 2 +- 6 files changed, 10 insertions(+), 15 deletions(-) diff --git a/java/java-psi-api/src/com/intellij/pom/java/LanguageLevel.java b/java/java-psi-api/src/com/intellij/pom/java/LanguageLevel.java index 01082724bc9b..db97725f1200 100644 --- a/java/java-psi-api/src/com/intellij/pom/java/LanguageLevel.java +++ b/java/java-psi-api/src/com/intellij/pom/java/LanguageLevel.java @@ -10,6 +10,7 @@ import com.intellij.util.lang.JavaVersion; import org.jetbrains.annotations.Nls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.jetbrains.annotations.TestOnly; /** * Represents a language level (i.e. features available) of a Java code. @@ -46,6 +47,12 @@ public enum LanguageLevel { return this == JDK_X ? "Java X" : "Java " + JavaSdkVersion.fromLanguageLevel(this).getDescription(); } + @TestOnly + public static LanguageLevel getHighestRegistered() { + LanguageLevel[] values = values(); + return values[values.length - 1]; + } + @NotNull @Nls public String getPresentableText() { diff --git a/java/java-psi-api/src/messages/JavaCoreBundle.properties b/java/java-psi-api/src/messages/JavaCoreBundle.properties index 2f6ef48eb77d..2910d51c4b08 100644 --- a/java/java-psi-api/src/messages/JavaCoreBundle.properties +++ b/java/java-psi-api/src/messages/JavaCoreBundle.properties @@ -9,5 +9,5 @@ jdk.1.7.language.level.description=7 - Diamonds, ARM, multi-catch etc. jdk.1.8.language.level.description=8 - Lambdas, type annotations etc. jdk.1.9.language.level.description=9 - Modules, private methods in interfaces etc. jdk.10.language.level.description=10 - Local variable type inference -jdk.11.language.level.description=11 - Local-Variable Syntax for Lambda Parameters +jdk.11.language.level.description=11 - Local-variable syntax for lambda parameters jdk.X.language.level.description=X - Experimental features diff --git a/java/java-tests/testSrc/com/intellij/java/parser/JavaParsingTestCase.java b/java/java-tests/testSrc/com/intellij/java/parser/JavaParsingTestCase.java index cdd9d07b0c1f..ca39f52db8aa 100644 --- a/java/java-tests/testSrc/com/intellij/java/parser/JavaParsingTestCase.java +++ b/java/java-tests/testSrc/com/intellij/java/parser/JavaParsingTestCase.java @@ -57,7 +57,7 @@ public abstract class JavaParsingTestCase extends ParsingTestCase { } protected LanguageLevel getHighestLanguageLevel() { - return LanguageLevel.HIGHEST; + return LanguageLevel.getHighestRegistered(); } @Override diff --git a/java/java-tests/testSrc/com/intellij/java/parser/partial/ExpressionParserTest.java b/java/java-tests/testSrc/com/intellij/java/parser/partial/ExpressionParserTest.java index 76274b339563..6ed647fe71c4 100644 --- a/java/java-tests/testSrc/com/intellij/java/parser/partial/ExpressionParserTest.java +++ b/java/java-tests/testSrc/com/intellij/java/parser/partial/ExpressionParserTest.java @@ -3,7 +3,6 @@ package com.intellij.java.parser.partial; import com.intellij.java.parser.JavaParsingTestCase; import com.intellij.lang.java.parser.JavaParser; -import com.intellij.pom.java.LanguageLevel; public class ExpressionParserTest extends JavaParsingTestCase { public ExpressionParserTest() { @@ -145,11 +144,6 @@ public class ExpressionParserTest extends JavaParsingTestCase { public void testLambdaExpression26() { doParserTest("(var var) -> var"); } public void testAmbiguousLambdaExpression() { doParserTest("f( (x) < y , z > (w) -> v )"); } - @Override - protected LanguageLevel getHighestLanguageLevel() { - return LanguageLevel.JDK_11; - } - private void doParserTest(String text) { doParserTest(text, builder -> JavaParser.INSTANCE.getExpressionParser().parse(builder)); } diff --git a/java/java-tests/testSrc/com/intellij/java/parser/partial/ReferenceParserTest.java b/java/java-tests/testSrc/com/intellij/java/parser/partial/ReferenceParserTest.java index b04a588703b4..989ff2d18a5e 100644 --- a/java/java-tests/testSrc/com/intellij/java/parser/partial/ReferenceParserTest.java +++ b/java/java-tests/testSrc/com/intellij/java/parser/partial/ReferenceParserTest.java @@ -4,7 +4,6 @@ package com.intellij.java.parser.partial; import com.intellij.java.parser.JavaParsingTestCase; import com.intellij.lang.java.parser.JavaParser; import com.intellij.lang.java.parser.ReferenceParser; -import com.intellij.pom.java.LanguageLevel; public class ReferenceParserTest extends JavaParsingTestCase { public ReferenceParserTest() { @@ -40,11 +39,6 @@ public class ReferenceParserTest extends JavaParsingTestCase { public void testAnyTypeParams() { doTypeParamsParserTest(""); } public void testAnyTypeArgs() { doTypeParserTest("T"); } - @Override - protected LanguageLevel getHighestLanguageLevel() { - return LanguageLevel.JDK_X; - } - private void doRefParserTest(String text, boolean incomplete) { doParserTest(text, builder -> JavaParser.INSTANCE.getReferenceParser().parseJavaCodeReference(builder, incomplete, false, false, false)); } diff --git a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterSpaceTest.java b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterSpaceTest.java index 8f0881695fb3..cbe04134c2e3 100644 --- a/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterSpaceTest.java +++ b/java/java-tests/testSrc/com/intellij/java/psi/formatter/java/JavaFormatterSpaceTest.java @@ -16,7 +16,7 @@ public class JavaFormatterSpaceTest extends AbstractJavaFormatterTest { @Override protected void setUp() throws Exception { super.setUp(); - LanguageLevelProjectExtension.getInstance(LightPlatformTestCase.getProject()).setLanguageLevel(LanguageLevel.HIGHEST); + LanguageLevelProjectExtension.getInstance(LightPlatformTestCase.getProject()).setLanguageLevel(LanguageLevel.getHighestRegistered()); } public void testSpacingBetweenTypeParameters() {