27 |
27 |
28 import java.io.File; |
28 import java.io.File; |
29 import java.io.IOException; |
29 import java.io.IOException; |
30 import java.io.PrintWriter; |
30 import java.io.PrintWriter; |
31 import java.util.ArrayList; |
31 import java.util.ArrayList; |
|
32 import java.util.HashSet; |
|
33 import java.util.LinkedList; |
32 import java.util.List; |
34 import java.util.List; |
|
35 import java.util.Queue; |
|
36 import java.util.Set; |
33 |
37 |
34 import javax.lang.model.element.Name; |
38 import javax.lang.model.element.Name; |
|
39 import javax.tools.JavaFileObject; |
35 import javax.tools.StandardLocation; |
40 import javax.tools.StandardLocation; |
36 |
41 |
37 import com.sun.source.doctree.DocCommentTree; |
42 import com.sun.source.doctree.DocCommentTree; |
38 import com.sun.source.tree.ClassTree; |
43 import com.sun.source.tree.ClassTree; |
39 import com.sun.source.tree.CompilationUnitTree; |
44 import com.sun.source.tree.CompilationUnitTree; |
276 }; |
281 }; |
277 |
282 |
278 TaskListener tl = new TaskListener() { |
283 TaskListener tl = new TaskListener() { |
279 @Override |
284 @Override |
280 public void started(TaskEvent e) { |
285 public void started(TaskEvent e) { |
|
286 switch (e.getKind()) { |
|
287 case ANALYZE: |
|
288 CompilationUnitTree tree; |
|
289 while ((tree = todo.poll()) != null) |
|
290 ds.scan(tree, null); |
|
291 break; |
|
292 } |
281 } |
293 } |
282 |
294 |
283 @Override |
295 @Override |
284 public void finished(TaskEvent e) { |
296 public void finished(TaskEvent e) { |
285 switch (e.getKind()) { |
297 switch (e.getKind()) { |
286 case ENTER: |
298 case PARSE: |
287 ds.scan(e.getCompilationUnit(), null); |
299 todo.add(e.getCompilationUnit()); |
|
300 break; |
288 } |
301 } |
289 } |
302 } |
|
303 |
|
304 Queue<CompilationUnitTree> todo = new LinkedList<CompilationUnitTree>(); |
290 }; |
305 }; |
291 |
306 |
292 task.addTaskListener(tl); |
307 task.addTaskListener(tl); |
293 } |
308 } |
294 } |
309 } |