/*
 * @test    /nodynamiccopyright/
 * @bug     6341173 6341072
 * @summary Test presence of Messager methods
 * @author  Joseph D. Darcy
 * @library /tools/javac/lib
 * @modules java.compiler
 *          jdk.compiler
 * @build   JavacTestingAbstractProcessor
 * @compile MessagerBasics.java
 * @compile -processor MessagerBasics -proc:only MessagerBasics.java
 * @compile/fail/ref=MessagerBasics.out -XDrawDiagnostics -processor MessagerBasics -proc:only -AfinalError MessagerBasics.java
 * @compile -processor MessagerBasics MessagerBasics.java
 * @compile/fail/ref=MessagerBasics.out -XDrawDiagnostics -processor MessagerBasics -AfinalError MessagerBasics.java
 */

import java.util.Set;
import javax.annotation.processing.*;
import javax.lang.model.element.*;
import javax.lang.model.util.*;
import static javax.tools.Diagnostic.Kind.*;

@SupportedOptions("finalError")
public class MessagerBasics extends JavacTestingAbstractProcessor {
    public boolean process(Set<? extends TypeElement> annotations,
                           RoundEnvironment roundEnv) {
        if (roundEnv.processingOver()) {
            if (processingEnv.getOptions().containsKey("finalError"))
                messager.printMessage(ERROR,   "Does not compute");
            else {
                messager.printMessage(NOTE,    "Post no bills");
                messager.printMessage(WARNING, "Beware the ides of March!");
            }
        }
        return true;
    }
}