langtools/test/tools/javac/processing/6430209/T6430209.java
changeset 27319 030080f03e4f
parent 24897 655b72d7b96e
child 30730 d3ce7619db2c
--- a/langtools/test/tools/javac/processing/6430209/T6430209.java	Wed Oct 29 12:09:17 2014 +0100
+++ b/langtools/test/tools/javac/processing/6430209/T6430209.java	Wed Oct 29 17:25:23 2014 -0700
@@ -58,22 +58,23 @@
         String testClassPath = System.getProperty("test.class.path");
         JavacTool tool = JavacTool.create();
         MyDiagListener dl = new MyDiagListener();
-        StandardJavaFileManager fm = tool.getStandardFileManager(dl, null, null);
-        fm.setLocation(StandardLocation.CLASS_PATH, Arrays.asList(new File(".")));
-        Iterable<? extends JavaFileObject> files = fm.getJavaFileObjectsFromFiles(Arrays.asList(
-            new File(testSrc, "test0.java"), new File(testSrc, "test1.java")));
-        Iterable<String> opts = Arrays.asList("-proc:only",
-                                              "-processor", "b6341534",
-                                              "-processorpath", testClassPath);
-        StringWriter out = new StringWriter();
-        JavacTask task = tool.getTask(out, fm, dl, opts, null, files);
-        task.call();
-        String s = out.toString();
-        System.err.print(s);
-        // Expect the following 2 diagnostics, and no output to log
-        System.err.println(dl.count + " diagnostics; " + s.length() + " characters");
-        if (dl.count != 2 || s.length() != 0)
-            throw new AssertionError("unexpected output from compiler");
+        try (StandardJavaFileManager fm = tool.getStandardFileManager(dl, null, null)) {
+            fm.setLocation(StandardLocation.CLASS_PATH, Arrays.asList(new File(".")));
+            Iterable<? extends JavaFileObject> files = fm.getJavaFileObjectsFromFiles(Arrays.asList(
+                new File(testSrc, "test0.java"), new File(testSrc, "test1.java")));
+            Iterable<String> opts = Arrays.asList("-proc:only",
+                                                  "-processor", "b6341534",
+                                                  "-processorpath", testClassPath);
+            StringWriter out = new StringWriter();
+            JavacTask task = tool.getTask(out, fm, dl, opts, null, files);
+            task.call();
+            String s = out.toString();
+            System.err.print(s);
+            // Expect the following 2 diagnostics, and no output to log
+            System.err.println(dl.count + " diagnostics; " + s.length() + " characters");
+            if (dl.count != 2 || s.length() != 0)
+                throw new AssertionError("unexpected output from compiler");
+        }
     }
 
     static class MyDiagListener implements DiagnosticListener<JavaFileObject> {