6911854: Update TestElementsAnnotatedWith.java to use @compile/proc
Reviewed-by: jjg
--- a/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java Tue Dec 15 13:26:06 2009 -0800
+++ b/langtools/test/tools/javac/processing/environment/round/TestElementsAnnotatedWith.java Fri Dec 18 11:15:23 2009 -0800
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 6397298 6400986 6425592 6449798 6453386 6508401 6498938
+ * @bug 6397298 6400986 6425592 6449798 6453386 6508401 6498938 6911854
* @summary Tests that getElementsAnnotatedWith works properly.
* @author Joseph D. Darcy
* @compile TestElementsAnnotatedWith.java
@@ -33,8 +33,8 @@
* @compile -processor TestElementsAnnotatedWith -proc:only Part1.java Part2.java
* @compile -processor TestElementsAnnotatedWith -proc:only C2.java
* @compile -processor TestElementsAnnotatedWith -proc:only Foo.java
- * @compile -XD-d=. Foo.java
- * @compile -processor TestElementsAnnotatedWith -proc:only TestElementsAnnotatedWith.java
+ * @compile Foo.java
+ * @compile/process -processor TestElementsAnnotatedWith -proc:only Foo
*/
import java.lang.annotation.Annotation;
@@ -89,7 +89,7 @@
// Verify that the annotation information is as
// expected.
- Set<String> expectedNames = new HashSet<String>(Arrays.asList(annotatedElementInfo.names()));
+ Set<String> expectedNames = new HashSet<>(Arrays.asList(annotatedElementInfo.names()));
resultsMeta =
roundEnvironment.
@@ -126,9 +126,6 @@
System.err.println("AnnotatedElementInfo: " + annotatedElementInfo);
throw new RuntimeException();
}
-
- if("TestElementsAnnotatedWith".equals(firstType.getSimpleName().toString()))
- writeClassFile(); // Start another round to test class file input
} else {
// If processing is over without an error, the specified
// elements should be empty so an empty set should be returned.
@@ -163,48 +160,14 @@
} catch(IllegalArgumentException iae) {}
try {
- Set<? extends Element> elements = roundEnvironment.getElementsAnnotatedWith(processingEnv.
- getElementUtils().
- getTypeElement("java.lang.Object") );
+ Set<? extends Element> elements =
+ roundEnvironment.getElementsAnnotatedWith(processingEnv.
+ getElementUtils().
+ getTypeElement("java.lang.Object") );
throw new RuntimeException("Illegal argument exception not thrown");
} catch(IllegalArgumentException iae) {}
}
- /*
- * Hack alert! The class file read below is generated by the
- * "@compile -XD-d=. Foo.java" directive above. This sneakily
- * overrides the output location to the current directory where a
- * subsequent @compile can read the file. This could be improved
- * if either a new directive like @process accepted class file
- * arguments (the javac command accepts such arguments but
- * @compile does not) or the test.src and test.classes properties
- * were set to be read with @compile jobs.
- */
- private void writeClassFile() {
- try {
- Filer filer = processingEnv.getFiler();
- JavaFileObject jfo = filer.createClassFile("Foo");
- OutputStream os = jfo.openOutputStream();
- // Copy the bytes over
- System.out.println((new File(".")).getAbsolutePath());
- InputStream io = new BufferedInputStream(new FileInputStream(new File(".", "Foo.class")));
- try {
- int datum = io.read();
- while(datum != -1) {
- os.write(datum);
- datum = io.read();
- }
- } finally {
- io.close();
- }
- os.close();
- } catch (IOException ioe) {
- throw new RuntimeException(ioe);
- }
-
-
- }
-
@Override
public SourceVersion getSupportedSourceVersion() {
return SourceVersion.latest();