mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8309134: Augment test/langtools/tools/javac/versions/Versions.java for JDK 21 language changes
Reviewed-by: jjg
This commit is contained in:
parent
de7fd1c306
commit
cb40db052c
1 changed files with 44 additions and 15 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, 2022, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2014, 2023, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -89,7 +89,7 @@ public class Versions {
|
||||||
EIGHTEEN(false, "62.0", "18", Versions::checksrc18),
|
EIGHTEEN(false, "62.0", "18", Versions::checksrc18),
|
||||||
NINETEEN(false, "63.0", "19", Versions::checksrc19),
|
NINETEEN(false, "63.0", "19", Versions::checksrc19),
|
||||||
TWENTY(false, "64.0", "20", Versions::checksrc20),
|
TWENTY(false, "64.0", "20", Versions::checksrc20),
|
||||||
TWENTY_ONE(false,"65.0", "21", Versions::checksrc20);
|
TWENTY_ONE(false,"65.0", "21", Versions::checksrc21);
|
||||||
|
|
||||||
private final boolean dotOne;
|
private final boolean dotOne;
|
||||||
private final String classFileVer;
|
private final String classFileVer;
|
||||||
|
@ -248,85 +248,97 @@ public class Versions {
|
||||||
protected void checksrc8(List<String> args) {
|
protected void checksrc8(List<String> args) {
|
||||||
printargs("checksrc8", args);
|
printargs("checksrc8", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java"));
|
expectedPass(args, List.of("New7.java", "New8.java"));
|
||||||
expectedFail(args, List.of("New10.java"));
|
expectedFail(args, List.of("New10.java", "New11.java", "New14.java", "New15.java",
|
||||||
|
"New16.java", "New17.java", "New21.java"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc9(List<String> args) {
|
protected void checksrc9(List<String> args) {
|
||||||
printargs("checksrc9", args);
|
printargs("checksrc9", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java"));
|
expectedPass(args, List.of("New7.java", "New8.java"));
|
||||||
expectedFail(args, List.of("New10.java"));
|
expectedFail(args, List.of("New10.java", "New11.java", "New14.java", "New15.java",
|
||||||
|
"New16.java", "New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc10(List<String> args) {
|
protected void checksrc10(List<String> args) {
|
||||||
printargs("checksrc10", args);
|
printargs("checksrc10", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java"));
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java"));
|
||||||
expectedFail(args, List.of("New11.java"));
|
expectedFail(args, List.of("New11.java", "New14.java", "New15.java",
|
||||||
|
"New16.java", "New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc11(List<String> args) {
|
protected void checksrc11(List<String> args) {
|
||||||
printargs("checksrc11", args);
|
printargs("checksrc11", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java"));
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java"));
|
||||||
expectedFail(args, List.of("New14.java"));
|
expectedFail(args, List.of("New14.java", "New15.java", "New16.java", "New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc12(List<String> args) {
|
protected void checksrc12(List<String> args) {
|
||||||
printargs("checksrc12", args);
|
printargs("checksrc12", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java"));
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java"));
|
||||||
expectedFail(args, List.of("New14.java"));
|
expectedFail(args, List.of("New14.java", "New15.java", "New16.java", "New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc13(List<String> args) {
|
protected void checksrc13(List<String> args) {
|
||||||
printargs("checksrc13", args);
|
printargs("checksrc13", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java"));
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java"));
|
||||||
expectedFail(args, List.of("New14.java"));
|
expectedFail(args, List.of("New14.java", "New15.java", "New16.java", "New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc14(List<String> args) {
|
protected void checksrc14(List<String> args) {
|
||||||
printargs("checksrc14", args);
|
printargs("checksrc14", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
"New14.java"));
|
"New14.java"));
|
||||||
expectedFail(args, List.of("New15.java"));
|
expectedFail(args, List.of("New15.java", "New16.java", "New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc15(List<String> args) {
|
protected void checksrc15(List<String> args) {
|
||||||
printargs("checksrc15", args);
|
printargs("checksrc15", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
"New14.java", "New15.java"));
|
"New14.java", "New15.java"));
|
||||||
expectedFail(args, List.of("New16.java"));
|
expectedFail(args, List.of("New16.java", "New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc16(List<String> args) {
|
protected void checksrc16(List<String> args) {
|
||||||
printargs("checksrc16", args);
|
printargs("checksrc16", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
"New14.java", "New15.java", "New16.java"));
|
"New14.java", "New15.java", "New16.java"));
|
||||||
expectedFail(args, List.of("New17.java"));
|
expectedFail(args, List.of("New17.java", "New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc17(List<String> args) {
|
protected void checksrc17(List<String> args) {
|
||||||
printargs("checksrc17", args);
|
printargs("checksrc17", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
"New14.java", "New15.java", "New16.java", "New17.java"));
|
"New14.java", "New15.java", "New16.java", "New17.java"));
|
||||||
// Add expectedFail after new language features added in a later release.
|
expectedFail(args, List.of("New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc18(List<String> args) {
|
protected void checksrc18(List<String> args) {
|
||||||
printargs("checksrc18", args);
|
printargs("checksrc18", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
"New14.java", "New15.java", "New16.java", "New17.java"));
|
"New14.java", "New15.java", "New16.java", "New17.java"));
|
||||||
// Add expectedFail after new language features added in a later release.
|
expectedFail(args, List.of("New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc19(List<String> args) {
|
protected void checksrc19(List<String> args) {
|
||||||
printargs("checksrc19", args);
|
printargs("checksrc19", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
"New14.java", "New15.java", "New16.java", "New17.java"));
|
"New14.java", "New15.java", "New16.java", "New17.java"));
|
||||||
// Add expectedFail after new language features added in a later release.
|
expectedFail(args, List.of("New21.java"));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void checksrc20(List<String> args) {
|
protected void checksrc20(List<String> args) {
|
||||||
printargs("checksrc20", args);
|
printargs("checksrc20", args);
|
||||||
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
"New14.java", "New15.java", "New16.java", "New17.java"));
|
"New14.java", "New15.java", "New16.java", "New17.java"));
|
||||||
|
expectedFail(args, List.of("New21.java"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void checksrc21(List<String> args) {
|
||||||
|
printargs("checksrc21", args);
|
||||||
|
expectedPass(args, List.of("New7.java", "New8.java", "New10.java", "New11.java",
|
||||||
|
"New14.java", "New15.java", "New16.java", "New17.java",
|
||||||
|
"New21.java"));
|
||||||
// Add expectedFail after new language features added in a later release.
|
// Add expectedFail after new language features added in a later release.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -384,7 +396,6 @@ public class Versions {
|
||||||
failedCases++;
|
failedCases++;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void fail(List<String> args) {
|
protected void fail(List<String> args) {
|
||||||
|
@ -569,6 +580,24 @@ public class Versions {
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Create a file with a new feature in 21, not in 20 : pattern matching for switch
|
||||||
|
*/
|
||||||
|
writeSourceFile("New21.java",
|
||||||
|
"""
|
||||||
|
public class New21 {
|
||||||
|
public static void main(String... args) {
|
||||||
|
Object o = new Object(){};
|
||||||
|
|
||||||
|
System.out.println(switch (o) {
|
||||||
|
case Integer i -> String.format("%d", i);
|
||||||
|
default -> o.toString();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean checkClassFileVersion
|
protected boolean checkClassFileVersion
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue