52 public class Versions { 53 54 protected JavaCompiler javacompiler; 55 protected int failedCases; 56 57 public Versions() throws IOException { 58 javacompiler = ToolProvider.getSystemJavaCompiler(); 59 genSourceFiles(); 60 failedCases = 0; 61 } 62 63 public static void main(String... args) throws IOException { 64 Versions versions = new Versions(); 65 versions.run(); 66 } 67 68 public static final Set<String> RETIRED_SOURCES = 69 Set.of("1.2", "1.3", "1.4", "1.5", "1.6"); 70 71 public static final Set<String> VALID_SOURCES = 72 Set.of("1.7", "1.8", "1.9", "1.10", "11", "12", "13", "14"); 73 74 public static final String LATEST_MAJOR_VERSION = "58.0"; 75 76 static enum SourceTarget { 77 SEVEN(true, "51.0", "7", Versions::checksrc17), 78 EIGHT(true, "52.0", "8", Versions::checksrc18), 79 NINE(true, "53.0", "9", Versions::checksrc19), 80 TEN(true, "54.0", "10", Versions::checksrc110), 81 ELEVEN(false, "55.0", "11", Versions::checksrc111), 82 TWELVE(false, "56.0", "12", Versions::checksrc112), 83 THIRTEEN(false, "57.0", "13", Versions::checksrc113), 84 FOURTEEN(false, "58.0", "14", Versions::checksrc114); 85 86 private final boolean dotOne; 87 private final String classFileVer; 88 private final String target; 89 private final BiConsumer<Versions, String[]> checker; 90 91 private SourceTarget(boolean dotOne, String classFileVer, String target, 92 BiConsumer<Versions, String[]> checker) { 93 this.dotOne = dotOne; 94 this.classFileVer = classFileVer; 95 this.target = target; 96 this.checker = checker; 97 } 98 99 public void checksrc(Versions version, String... args) { 100 checker.accept(version, args); 101 } 102 103 public boolean dotOne() { 104 return dotOne; 285 newargs[asize] = "New18.java"; 286 pass(newargs); 287 newargs[asize] = "New110.java"; 288 pass(newargs); 289 newargs[asize] = "New111.java"; 290 pass(newargs); 291 } 292 293 protected void checksrc112(String... args) { 294 printargs("checksrc112", args); 295 checksrc111(args); 296 } 297 298 protected void checksrc113(String... args) { 299 printargs("checksrc113", args); 300 checksrc111(args); 301 } 302 303 protected void checksrc114(String... args) { 304 printargs("checksrc114", args); 305 checksrc111(args); 306 } 307 308 protected void pass(String... args) { 309 printargs("pass", args); 310 311 List<String> jcargs = new ArrayList<String>(); 312 jcargs.add("-Xlint:-options"); 313 314 // add in args conforming to List requrements of JavaCompiler 315 for (String onearg : args) { 316 String[] fields = onearg.split(" "); 317 for (String onefield : fields) { 318 jcargs.add(onefield); 319 } 320 } 321 322 // empty list is error 323 if (jcargs.isEmpty()) { 324 System.err.println("error: test error in pass() - No arguments"); | 52 public class Versions { 53 54 protected JavaCompiler javacompiler; 55 protected int failedCases; 56 57 public Versions() throws IOException { 58 javacompiler = ToolProvider.getSystemJavaCompiler(); 59 genSourceFiles(); 60 failedCases = 0; 61 } 62 63 public static void main(String... args) throws IOException { 64 Versions versions = new Versions(); 65 versions.run(); 66 } 67 68 public static final Set<String> RETIRED_SOURCES = 69 Set.of("1.2", "1.3", "1.4", "1.5", "1.6"); 70 71 public static final Set<String> VALID_SOURCES = 72 Set.of("1.7", "1.8", "1.9", "1.10", "11", "12", "13", "14", "15"); 73 74 public static final String LATEST_MAJOR_VERSION = "59.0"; 75 76 static enum SourceTarget { 77 SEVEN(true, "51.0", "7", Versions::checksrc17), 78 EIGHT(true, "52.0", "8", Versions::checksrc18), 79 NINE(true, "53.0", "9", Versions::checksrc19), 80 TEN(true, "54.0", "10", Versions::checksrc110), 81 ELEVEN(false, "55.0", "11", Versions::checksrc111), 82 TWELVE(false, "56.0", "12", Versions::checksrc112), 83 THIRTEEN(false, "57.0", "13", Versions::checksrc113), 84 FOURTEEN(false, "58.0", "14", Versions::checksrc114), 85 FIFTEEN(false, "59.0", "15", Versions::checksrc115); 86 87 private final boolean dotOne; 88 private final String classFileVer; 89 private final String target; 90 private final BiConsumer<Versions, String[]> checker; 91 92 private SourceTarget(boolean dotOne, String classFileVer, String target, 93 BiConsumer<Versions, String[]> checker) { 94 this.dotOne = dotOne; 95 this.classFileVer = classFileVer; 96 this.target = target; 97 this.checker = checker; 98 } 99 100 public void checksrc(Versions version, String... args) { 101 checker.accept(version, args); 102 } 103 104 public boolean dotOne() { 105 return dotOne; 286 newargs[asize] = "New18.java"; 287 pass(newargs); 288 newargs[asize] = "New110.java"; 289 pass(newargs); 290 newargs[asize] = "New111.java"; 291 pass(newargs); 292 } 293 294 protected void checksrc112(String... args) { 295 printargs("checksrc112", args); 296 checksrc111(args); 297 } 298 299 protected void checksrc113(String... args) { 300 printargs("checksrc113", args); 301 checksrc111(args); 302 } 303 304 protected void checksrc114(String... args) { 305 printargs("checksrc114", args); 306 checksrc111(args); 307 } 308 309 protected void checksrc115(String... args) { 310 printargs("checksrc115", args); 311 checksrc111(args); 312 } 313 314 protected void pass(String... args) { 315 printargs("pass", args); 316 317 List<String> jcargs = new ArrayList<String>(); 318 jcargs.add("-Xlint:-options"); 319 320 // add in args conforming to List requrements of JavaCompiler 321 for (String onearg : args) { 322 String[] fields = onearg.split(" "); 323 for (String onefield : fields) { 324 jcargs.add(onefield); 325 } 326 } 327 328 // empty list is error 329 if (jcargs.isEmpty()) { 330 System.err.println("error: test error in pass() - No arguments"); |