src/share/classes/com/sun/tools/javac/main/Option.java

changeset 1463
67b01d295cd2
parent 1442
fcf89720ae71
child 1473
31780dd06ec7
     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

mercurial