TestFatalityOfParseErrors.java revision 2777:7b2e1f42a6ad
1/*
2 * @test /nodynamiccopyright/
3 * @bug 6403459
4 * @summary Test that generating programs with syntax errors is a fatal condition
5 * @author  Joseph D. Darcy
6 * @library /tools/javac/lib
7 * @build JavacTestingAbstractProcessor
8 * @compile TestReturnCode.java
9 * @compile TestFatalityOfParseErrors.java
10 * @compile/fail/ref=TestFatalityOfParseErrors.out -XDrawDiagnostics -XprintRounds -processor TestFatalityOfParseErrors -proc:only TestFatalityOfParseErrors.java
11 */
12
13import java.util.Set;
14import javax.annotation.processing.*;
15import javax.lang.model.SourceVersion;
16import static javax.lang.model.SourceVersion.*;
17import javax.lang.model.element.*;
18import javax.lang.model.util.*;
19import static javax.tools.Diagnostic.Kind.*;
20
21import java.io.PrintWriter;
22import java.io.IOException;
23
24/**
25 * Write out an incomplete source file and observe that the next round
26 * is marked as an error.
27 */
28public class TestFatalityOfParseErrors extends JavacTestingAbstractProcessor {
29
30    public boolean process(Set<? extends TypeElement> annotations,
31                           RoundEnvironment roundEnvironment) {
32        try (PrintWriter pw = new PrintWriter(filer.createSourceFile("SyntaxError").openWriter())) {
33            pw.println("class SyntaxError {");
34        } catch (IOException ioException) {
35        }
36        return true;
37    }
38}
39