diff -r ca49d50318dc -r 36553cb94345 src/share/classes/com/sun/tools/javac/util/Options.java --- a/src/share/classes/com/sun/tools/javac/util/Options.java Tue Nov 08 11:51:05 2011 -0800 +++ b/src/share/classes/com/sun/tools/javac/util/Options.java Tue Nov 08 17:06:08 2011 -0800 @@ -157,6 +157,19 @@ return values.size(); } + // light-weight notification mechanism + + private List listeners = List.nil(); + + public void addListener(Runnable listener) { + listeners = listeners.prepend(listener); + } + + public void notifyListeners() { + for (Runnable r: listeners) + r.run(); + } + /** Check for a lint suboption. */ public boolean lint(String s) { // return true if either the specific option is enabled, or