langtools/src/jdk.compiler/share/classes/com/sun/tools/doclint/DocLint.java
changeset 26266 2d24bda701dc
parent 26264 a09fedde76be
child 29427 44f4e6905b67
equal deleted inserted replaced
26265:46aacfffd3b5 26266:2d24bda701dc
    52 import com.sun.tools.javac.api.JavacTaskImpl;
    52 import com.sun.tools.javac.api.JavacTaskImpl;
    53 import com.sun.tools.javac.api.JavacTool;
    53 import com.sun.tools.javac.api.JavacTool;
    54 import com.sun.tools.javac.file.JavacFileManager;
    54 import com.sun.tools.javac.file.JavacFileManager;
    55 import com.sun.tools.javac.main.JavaCompiler;
    55 import com.sun.tools.javac.main.JavaCompiler;
    56 import com.sun.tools.javac.util.Context;
    56 import com.sun.tools.javac.util.Context;
       
    57 import com.sun.tools.javac.util.DefinedBy;
       
    58 import com.sun.tools.javac.util.DefinedBy.Api;
    57 
    59 
    58 /**
    60 /**
    59  * Multi-function entry point for the doc check utility.
    61  * Multi-function entry point for the doc check utility.
    60  *
    62  *
    61  * This class can be invoked in the following ways:
    63  * This class can be invoked in the following ways:
   242 
   244 
   243     // </editor-fold>
   245     // </editor-fold>
   244 
   246 
   245     // <editor-fold defaultstate="collapsed" desc="javac Plugin">
   247     // <editor-fold defaultstate="collapsed" desc="javac Plugin">
   246 
   248 
   247     @Override
   249     @Override @DefinedBy(Api.COMPILER_TREE)
   248     public String getName() {
   250     public String getName() {
   249         return "doclint";
   251         return "doclint";
   250     }
   252     }
   251 
   253 
   252     @Override
   254     @Override @DefinedBy(Api.COMPILER_TREE)
   253     public void init(JavacTask task, String... args) {
   255     public void init(JavacTask task, String... args) {
   254         init(task, args, true);
   256         init(task, args, true);
   255     }
   257     }
   256 
   258 
   257     // </editor-fold>
   259     // </editor-fold>
   287                     checker.scan(dc, p);
   289                     checker.scan(dc, p);
   288                 }
   290                 }
   289             };
   291             };
   290 
   292 
   291             TaskListener tl = new TaskListener() {
   293             TaskListener tl = new TaskListener() {
   292                 @Override
   294                 @Override @DefinedBy(Api.COMPILER_TREE)
   293                 public void started(TaskEvent e) {
   295                 public void started(TaskEvent e) {
   294                     switch (e.getKind()) {
   296                     switch (e.getKind()) {
   295                         case ANALYZE:
   297                         case ANALYZE:
   296                             CompilationUnitTree tree;
   298                             CompilationUnitTree tree;
   297                             while ((tree = todo.poll()) != null)
   299                             while ((tree = todo.poll()) != null)
   298                                 ds.scan(tree, null);
   300                                 ds.scan(tree, null);
   299                             break;
   301                             break;
   300                     }
   302                     }
   301                 }
   303                 }
   302 
   304 
   303                 @Override
   305                 @Override @DefinedBy(Api.COMPILER_TREE)
   304                 public void finished(TaskEvent e) {
   306                 public void finished(TaskEvent e) {
   305                     switch (e.getKind()) {
   307                     switch (e.getKind()) {
   306                         case PARSE:
   308                         case PARSE:
   307                             todo.add(e.getCompilationUnit());
   309                             todo.add(e.getCompilationUnit());
   308                             break;
   310                             break;
   346     // <editor-fold defaultstate="collapsed" desc="DeclScanner">
   348     // <editor-fold defaultstate="collapsed" desc="DeclScanner">
   347 
   349 
   348     static abstract class DeclScanner extends TreePathScanner<Void, Void> {
   350     static abstract class DeclScanner extends TreePathScanner<Void, Void> {
   349         abstract void visitDecl(Tree tree, Name name);
   351         abstract void visitDecl(Tree tree, Name name);
   350 
   352 
   351         @Override
   353         @Override @DefinedBy(Api.COMPILER_TREE)
   352         public Void visitPackage(PackageTree tree, Void ignore) {
   354         public Void visitPackage(PackageTree tree, Void ignore) {
   353             visitDecl(tree, null);
   355             visitDecl(tree, null);
   354             return super.visitPackage(tree, ignore);
   356             return super.visitPackage(tree, ignore);
   355         }
   357         }
   356         @Override
   358         @Override @DefinedBy(Api.COMPILER_TREE)
   357         public Void visitClass(ClassTree tree, Void ignore) {
   359         public Void visitClass(ClassTree tree, Void ignore) {
   358             visitDecl(tree, tree.getSimpleName());
   360             visitDecl(tree, tree.getSimpleName());
   359             return super.visitClass(tree, ignore);
   361             return super.visitClass(tree, ignore);
   360         }
   362         }
   361 
   363 
   362         @Override
   364         @Override @DefinedBy(Api.COMPILER_TREE)
   363         public Void visitMethod(MethodTree tree, Void ignore) {
   365         public Void visitMethod(MethodTree tree, Void ignore) {
   364             visitDecl(tree, tree.getName());
   366             visitDecl(tree, tree.getName());
   365             //return super.visitMethod(tree, ignore);
   367             //return super.visitMethod(tree, ignore);
   366             return null;
   368             return null;
   367         }
   369         }
   368 
   370 
   369         @Override
   371         @Override @DefinedBy(Api.COMPILER_TREE)
   370         public Void visitVariable(VariableTree tree, Void ignore) {
   372         public Void visitVariable(VariableTree tree, Void ignore) {
   371             visitDecl(tree, tree.getName());
   373             visitDecl(tree, tree.getName());
   372             return super.visitVariable(tree, ignore);
   374             return super.visitVariable(tree, ignore);
   373         }
   375         }
   374     }
   376     }