< prev index next >

test/langtools/tools/javac/versions/Versions.java

Print this page

        

@@ -272,10 +272,12 @@
         pass(newargs);
         newargs[asize] = "New18.java";
         pass(newargs);
         newargs[asize] = "New110.java";
         pass(newargs);
+        newargs[asize] = "New111.java";
+        fail(newargs);
     }
 
     protected void checksrc111(String... args) {
         printargs("checksrc111", args);
         int asize = args.length;

@@ -287,10 +289,12 @@
         pass(newargs);
         newargs[asize] = "New110.java";
         pass(newargs);
         newargs[asize] = "New111.java";
         pass(newargs);
+        newargs[asize] = "New114.java";
+        fail(newargs);
     }
 
     protected void checksrc112(String... args) {
         printargs("checksrc112", args);
         checksrc111(args);

@@ -301,16 +305,28 @@
         checksrc111(args);
     }
 
     protected void checksrc114(String... args) {
         printargs("checksrc114", args);
-        checksrc111(args);
+         int asize = args.length;
+         String[] newargs = new String[asize+1];
+         System.arraycopy(args, 0, newargs,0 , asize);
+         newargs[asize] = "New17.java";
+         pass(newargs);
+         newargs[asize] = "New18.java";
+         pass(newargs);
+         newargs[asize] = "New110.java";
+         pass(newargs);
+         newargs[asize] = "New111.java";
+         pass(newargs);
+         newargs[asize] = "New114.java";
+         pass(newargs);
     }
 
     protected void checksrc115(String... args) {
         printargs("checksrc115", args);
-        checksrc111(args);
+        checksrc114(args);
     }
 
     protected void pass(String... args) {
         printargs("pass", args);
 

@@ -421,47 +437,74 @@
 
         /*
          * Create a file with a new feature in 1.7, not in 1.6 : "<>"
          */
         writeSourceFile("New17.java",
-            "import java.util.List;\n" +
-            "import java.util.ArrayList;\n" +
-            "class New17 { List<String> s = new ArrayList<>(); }\n"
+            """
+            import java.util.List;
+            import java.util.ArrayList;
+            class New17 { List<String> s = new ArrayList<>(); }
+            """
         );
 
         /*
          * Create a file with a new feature in 1.8, not in 1.7 : lambda
          */
         writeSourceFile("New18.java",
-            "public class New18 { \n" +
-            "    void m() { \n" +
-            "    new Thread(() -> { }); \n" +
-            "    } \n" +
-            "} \n"
+            """
+            public class New18 {
+                void m() {
+                new Thread(() -> { });
+                }
+            }
+             """
         );
 
         /*
          * Create a file with a new feature in 1.10, not in 1.9 : var
          */
         writeSourceFile("New110.java",
-            "public class New110 { \n" +
-            "    void m() { \n" +
-            "    var tmp = new Thread(() -> { }); \n" +
-            "    } \n" +
-            "} \n"
+            """
+            public class New110 {
+                void m() {
+                var tmp = new Thread(() -> { });
+                }
+            }
+            """
         );
 
         /*
          * Create a file with a new feature in 11, not in 10 : var for lambda parameters
          */
         writeSourceFile("New111.java",
-            "public class New111 { \n" +
-            "    static java.util.function.Function<String,String> f = (var x) -> x.substring(0);\n" +
-            "    void m(String name) { \n" +
-            "    var tmp = new Thread(() -> { }, f.apply(name)); \n" +
-            "    } \n" +
-            "} \n"
+            """
+            public class New111 {
+                static java.util.function.Function<String,String> f = (var x) -> x.substring(0);
+                void m(String name) {
+                var tmp = new Thread(() -> { }, f.apply(name));
+                }
+            }
+            """
+        );
+
+        /*
+         * Create a file with a new feature in 14, not in 13 : switch expressions
+         */
+        writeSourceFile("New114.java",
+            """
+            public class New114 {
+                static {
+                    int i = 5;
+                    System.out.println(
+                        switch(i) {
+                            case 0 -> false;
+                            default -> true;
+                        }
+                    );
+                }
+            }
+            """
         );
     }
 
     protected boolean checkClassFileVersion
         (String filename,String classVersionNumber) {
< prev index next >