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; 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"); | 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", "16"); 73 74 public static final String LATEST_MAJOR_VERSION = "60.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 SIXTEEN(false, "60.0", "16", Versions::checksrc116); 87 88 private final boolean dotOne; 89 private final String classFileVer; 90 private final String target; 91 private final BiConsumer<Versions, String[]> checker; 92 93 private SourceTarget(boolean dotOne, String classFileVer, String target, 94 BiConsumer<Versions, String[]> checker) { 95 this.dotOne = dotOne; 96 this.classFileVer = classFileVer; 97 this.target = target; 98 this.checker = checker; 99 } 100 101 public void checksrc(Versions version, String... args) { 102 checker.accept(version, args); 103 } 104 105 public boolean dotOne() { 106 return dotOne; 292 pass(newargs); 293 } 294 295 protected void checksrc112(String... args) { 296 printargs("checksrc112", args); 297 checksrc111(args); 298 } 299 300 protected void checksrc113(String... args) { 301 printargs("checksrc113", args); 302 checksrc111(args); 303 } 304 305 protected void checksrc114(String... args) { 306 printargs("checksrc114", args); 307 checksrc111(args); 308 } 309 310 protected void checksrc115(String... args) { 311 printargs("checksrc115", args); 312 checksrc111(args); 313 } 314 315 // TODO: update with text blocks 316 protected void checksrc116(String... args) { 317 printargs("checksrc116", args); 318 checksrc111(args); 319 } 320 321 protected void pass(String... args) { 322 printargs("pass", args); 323 324 List<String> jcargs = new ArrayList<String>(); 325 jcargs.add("-Xlint:-options"); 326 327 // add in args conforming to List requrements of JavaCompiler 328 for (String onearg : args) { 329 String[] fields = onearg.split(" "); 330 for (String onefield : fields) { 331 jcargs.add(onefield); 332 } 333 } 334 335 // empty list is error 336 if (jcargs.isEmpty()) { 337 System.err.println("error: test error in pass() - No arguments"); |