diff -r 4ce8148ffc4f -r fdfbc5f0c4ed src/share/classes/com/sun/tools/doclint/DocLint.java --- a/src/share/classes/com/sun/tools/doclint/DocLint.java Mon Sep 16 14:13:44 2013 +0200 +++ b/src/share/classes/com/sun/tools/doclint/DocLint.java Tue Sep 17 14:17:13 2013 -0700 @@ -29,9 +29,14 @@ import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; +import java.util.Queue; +import java.util.Set; import javax.lang.model.element.Name; +import javax.tools.JavaFileObject; import javax.tools.StandardLocation; import com.sun.source.doctree.DocCommentTree; @@ -278,15 +283,25 @@ TaskListener tl = new TaskListener() { @Override public void started(TaskEvent e) { + switch (e.getKind()) { + case ANALYZE: + CompilationUnitTree tree; + while ((tree = todo.poll()) != null) + ds.scan(tree, null); + break; + } } @Override public void finished(TaskEvent e) { switch (e.getKind()) { - case ENTER: - ds.scan(e.getCompilationUnit(), null); + case PARSE: + todo.add(e.getCompilationUnit()); + break; } } + + Queue todo = new LinkedList(); }; task.addTaskListener(tl);