--- old/src/share/classes/com/sun/tools/apt/util/Bark.java 2012-01-19 16:21:31.000000000 -0800 +++ /dev/null 2012-01-10 11:47:00.807870926 -0800 @@ -1,174 +0,0 @@ -/* - * Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.tools.apt.util; - -import com.sun.tools.javac.util.Context; -import com.sun.tools.javac.util.JCDiagnostic; -import com.sun.tools.javac.util.JCDiagnostic.SimpleDiagnosticPosition; -import com.sun.tools.javac.util.Log; -import com.sun.tools.javac.util.JavacMessages; -import com.sun.tools.javac.util.Position; - -/** A subtype of Log for use in APT. - * - *

This is NOT part of any supported API. - * If you write code that depends on this, you do so at your own risk. - * This code and its internal interfaces are subject to change or - * deletion without notice. - */ -public class Bark extends Log { - /** The context key for the bark. */ - protected static final Context.Key barkKey = - new Context.Key(); - - /** - * Preregisters factories to create and use a Bark object for use as - * both a Log and a Bark. - */ - public static void preRegister(Context context) { - context.put(barkKey, new Context.Factory() { - public Bark make(Context c) { - return new Bark(c); - } - }); - context.put(Log.logKey, new Context.Factory() { - public Log make(Context c) { - return Bark.instance(c); - } - }); - } - - /** Get the Bark instance for this context. */ - public static Bark instance(Context context) { - Bark instance = context.get(barkKey); - if (instance == null) - instance = new Bark(context); - return instance; - } - - /** Specifies whether or not to ignore any diagnostics that are reported. - */ - private boolean ignoreDiagnostics; - - /** - * Factory for APT-specific diagnostics. - */ - private JCDiagnostic.Factory aptDiags; - - - /** - * Creates a Bark. - */ - protected Bark(Context context) { - super(context); // will register this object in context with Log.logKey - context.put(barkKey, this); - - // register additional resource bundle for APT messages. - JavacMessages aptMessages = JavacMessages.instance(context); - aptMessages.add("com.sun.tools.apt.resources.apt"); - aptDiags = new JCDiagnostic.Factory(aptMessages, "apt"); - - multipleErrors = true; - } - - /** - * Sets a flag indicating whether or not to ignore all diagnostics. - * When ignored, they are not reported to the output writers, not are they - * counted in the various counters. - * @param b If true, subsequent diagnostics will be ignored. - * @return the previous state of the flag - */ - public boolean setDiagnosticsIgnored(boolean b) { - boolean prev = ignoreDiagnostics; - ignoreDiagnostics = b; - return prev; - } - - /** - * Report a diagnostic if they are not currently being ignored. - */ - @Override - public void report(JCDiagnostic diagnostic) { - if (ignoreDiagnostics) - return; - - super.report(diagnostic); - } - - /** Report an error. - * @param key The key for the localized error message. - * @param args Fields of the error message. - */ - public void aptError(String key, Object... args) { - aptError(Position.NOPOS, key, args); - } - - /** Report an error, unless another error was already reported at same - * source position. - * @param pos The source position at which to report the error. - * @param key The key for the localized error message. - * @param args Fields of the error message. - */ - public void aptError(int pos, String key, Object ... args) { - report(aptDiags.error(source, new SimpleDiagnosticPosition(pos), key, args)); - } - - /** Report a warning, unless suppressed by the -nowarn option or the - * maximum number of warnings has been reached. - * @param key The key for the localized warning message. - * @param args Fields of the warning message. - */ - public void aptWarning(String key, Object... args) { - aptWarning(Position.NOPOS, key, args); - } - - /** Report a warning, unless suppressed by the -nowarn option or the - * maximum number of warnings has been reached. - * @param pos The source position at which to report the warning. - * @param key The key for the localized warning message. - * @param args Fields of the warning message. - */ - public void aptWarning(int pos, String key, Object ... args) { - report(aptDiags.warning(source, new SimpleDiagnosticPosition(pos), key, args)); - } - - /** Report a note, unless suppressed by the -nowarn option. - * @param key The key for the localized note message. - * @param args Fields of the note message. - */ - public void aptNote(String key, Object... args) { - aptNote(Position.NOPOS, key, args); - } - - /** Report a note, unless suppressed by the -nowarn option. - * @param pos The source position at which to report the note. - * @param key The key for the localized note message. - * @param args Fields of the note message. - */ - public void aptNote(int pos, String key, Object ... args) { - report(aptDiags.note(source, new SimpleDiagnosticPosition(pos), key, args)); - } -}