[java] Add language versions 17 (new default) and 17-preview
This commit is contained in:
@ -185,7 +185,7 @@ Example:
|
||||
* [apex](pmd_rules_apex.html) (Salesforce Apex)
|
||||
* [java](pmd_rules_java.html)
|
||||
* Supported Versions: 1.3, 1.4, 1.5, 5, 1.6, 6, 1.7, 7, 1.8, 8, 9, 1.9, 10, 1.10, 11, 12,
|
||||
13, 14, 14-preview, 15 (default), 15-preview
|
||||
13, 14, 14-preview, 15, 15-preview, 16, 16-preview, 17 (default), 17-preview
|
||||
* [ecmascript](pmd_rules_ecmascript.html) (JavaScript)
|
||||
* [jsp](pmd_rules_jsp.html)
|
||||
* [modelica](pmd_rules_modelica.html)
|
||||
|
@ -30,8 +30,10 @@ public class JavaLanguageModule extends BaseLanguageModule {
|
||||
addVersion("14", new JavaLanguageHandler(14));
|
||||
addVersion("15", new JavaLanguageHandler(15));
|
||||
addVersion("15-preview", new JavaLanguageHandler(15, true));
|
||||
addDefaultVersion("16", new JavaLanguageHandler(16)); // 16 is the default
|
||||
addVersion("16", new JavaLanguageHandler(16));
|
||||
addVersion("16-preview", new JavaLanguageHandler(16, true));
|
||||
addDefaultVersion("17", new JavaLanguageHandler(17)); // 17 is the default
|
||||
addVersion("17-preview", new JavaLanguageHandler(17, true));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -60,6 +60,10 @@ public class LanguageVersionTest extends AbstractLanguageVersionTest {
|
||||
LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("16"), },
|
||||
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "16-preview",
|
||||
LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("16-preview"), },
|
||||
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "17",
|
||||
LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("17"), },
|
||||
{ JavaLanguageModule.NAME, JavaLanguageModule.TERSE_NAME, "17-preview",
|
||||
LanguageRegistry.getLanguage(JavaLanguageModule.NAME).getVersion("17-preview"), },
|
||||
|
||||
// this one won't be found: case sensitive!
|
||||
{ "JAVA", "JAVA", "1.7", null, },
|
||||
|
@ -12,8 +12,8 @@ import java.io.IOException
|
||||
|
||||
class ASTPatternTest : ParserTestSpec({
|
||||
|
||||
parserTest("Test patterns only available on JDK 15 (preview) and JDK16 and JDK16 (preview)",
|
||||
javaVersions = JavaVersion.values().asList().minus(J15__PREVIEW).minus(J16).minus(J16__PREVIEW)) {
|
||||
parserTest("Test patterns only available on JDK 15 (preview) and JDK16 and JDK16 (preview) and JDK17 and JDK 17 (preview)",
|
||||
javaVersions = JavaVersion.values().asList().minus(J15__PREVIEW).minus(J16).minus(J16__PREVIEW).minus(J17).minus(J17__PREVIEW)) {
|
||||
|
||||
expectParseException("Pattern Matching for instanceof is only supported with Java 15 Preview and Java >= 16") {
|
||||
parseAstExpression("obj instanceof Class c")
|
||||
@ -21,7 +21,7 @@ class ASTPatternTest : ParserTestSpec({
|
||||
|
||||
}
|
||||
|
||||
parserTest("Test simple patterns", javaVersions = listOf(J15__PREVIEW, J16)) {
|
||||
parserTest("Test simple patterns", javaVersions = listOf(J15__PREVIEW, J16, J17)) {
|
||||
|
||||
importedTypes += IOException::class.java
|
||||
|
||||
|
@ -22,7 +22,8 @@ enum class JavaVersion : Comparable<JavaVersion> {
|
||||
J13,
|
||||
J14,
|
||||
J15, J15__PREVIEW,
|
||||
J16, J16__PREVIEW;
|
||||
J16, J16__PREVIEW,
|
||||
J17, J17__PREVIEW;
|
||||
|
||||
/** Name suitable for use with e.g. [JavaParsingHelper.parse] */
|
||||
val pmdName: String = name.removePrefix("J").replaceFirst("__", "-").replace('_', '.').toLowerCase()
|
||||
|
Reference in New Issue
Block a user