--- old/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java 2016-08-07 17:47:08.000000000 -0700 +++ new/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/file/BaseFileManager.java 2016-08-07 17:47:08.000000000 -0700 @@ -232,7 +232,7 @@ OptionHelper helper = new GrumpyHelper(log) { @Override public String get(Option option) { - return options.get(option.getText()); + return options.get(option); } @Override @@ -251,23 +251,15 @@ } }; - for (Option o: javacFileManagerOptions) { - if (o.matches(current)) { - if (o.hasArg()) { - if (remaining.hasNext()) { - if (!o.process(helper, current, remaining.next())) - return true; - } - } else { - if (!o.process(helper, current)) - return true; - } - // operand missing, or process returned true - throw new IllegalArgumentException(current); - } + Option o = Option.lookup(current, javacFileManagerOptions); + if (o == null) { + return false; } - return false; + if (!o.handleOption(helper, current, remaining)) + throw new IllegalArgumentException(current); + + return true; } // where private static final Set