1.1 --- a/src/share/classes/com/sun/tools/javac/main/Option.java Tue Dec 18 18:15:47 2012 -0800 1.2 +++ b/src/share/classes/com/sun/tools/javac/main/Option.java Wed Dec 19 11:29:56 2012 +0000 1.3 @@ -25,28 +25,30 @@ 1.4 1.5 package com.sun.tools.javac.main; 1.6 1.7 +import java.io.File; 1.8 +import java.io.FileWriter; 1.9 +import java.io.PrintWriter; 1.10 import java.util.Collections; 1.11 -import com.sun.tools.javac.util.Log.PrefixKind; 1.12 -import com.sun.tools.javac.util.Log.WriterKind; 1.13 -import com.sun.tools.javac.util.Log; 1.14 +import java.util.EnumSet; 1.15 +import java.util.LinkedHashMap; 1.16 +import java.util.Map; 1.17 +import java.util.Set; 1.18 + 1.19 +import javax.lang.model.SourceVersion; 1.20 + 1.21 +import com.sun.tools.doclint.DocLint; 1.22 import com.sun.tools.javac.code.Lint; 1.23 import com.sun.tools.javac.code.Source; 1.24 import com.sun.tools.javac.code.Type; 1.25 import com.sun.tools.javac.jvm.Target; 1.26 +import com.sun.tools.javac.processing.JavacProcessingEnvironment; 1.27 +import com.sun.tools.javac.util.Log; 1.28 +import com.sun.tools.javac.util.Log.PrefixKind; 1.29 +import com.sun.tools.javac.util.Log.WriterKind; 1.30 import com.sun.tools.javac.util.Options; 1.31 -import com.sun.tools.javac.processing.JavacProcessingEnvironment; 1.32 -import java.io.File; 1.33 -import java.io.FileWriter; 1.34 -import java.io.PrintWriter; 1.35 -import java.util.EnumSet; 1.36 -import java.util.LinkedHashMap; 1.37 -import java.util.Map; 1.38 -import java.util.Set; 1.39 -import javax.lang.model.SourceVersion; 1.40 - 1.41 import static com.sun.tools.javac.main.Option.ChoiceKind.*; 1.42 +import static com.sun.tools.javac.main.Option.OptionGroup.*; 1.43 import static com.sun.tools.javac.main.Option.OptionKind.*; 1.44 -import static com.sun.tools.javac.main.Option.OptionGroup.*; 1.45 1.46 /** 1.47 * Options for javac. The specific Option to handle a command-line option 1.48 @@ -79,6 +81,24 @@ 1.49 XLINT_CUSTOM("-Xlint:", "opt.Xlint.suboptlist", 1.50 EXTENDED, BASIC, ANYOF, getXLintChoices()), 1.51 1.52 + XDOCLINT("-Xdoclint", "opt.Xdoclint", EXTENDED, BASIC), 1.53 + 1.54 + XDOCLINT_CUSTOM("-Xdoclint:", "opt.Xdoclint.subopts", "opt.Xdoclint.custom", EXTENDED, BASIC) { 1.55 + @Override 1.56 + public boolean matches(String option) { 1.57 + return DocLint.isValidOption( 1.58 + option.replace(XDOCLINT_CUSTOM.text, DocLint.XMSGS_CUSTOM_PREFIX)); 1.59 + } 1.60 + 1.61 + @Override 1.62 + public boolean process(OptionHelper helper, String option) { 1.63 + String prev = helper.get(XDOCLINT_CUSTOM); 1.64 + String next = (prev == null) ? option : (prev + " " + option); 1.65 + helper.put(XDOCLINT_CUSTOM.text, next); 1.66 + return false; 1.67 + } 1.68 + }, 1.69 + 1.70 // -nowarn is retained for command-line backward compatibility 1.71 NOWARN("-nowarn", "opt.nowarn", STANDARD, BASIC) { 1.72 @Override