langtools/test/tools/javac/processing/model/util/elements/doccomments/TestDocComments.java
changeset 6717 0103d76cfe48
parent 6716 71df48777dd1
child 25690 b1dac768ab79
equal deleted inserted replaced
6716:71df48777dd1 6717:0103d76cfe48
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 
    23 
    24 /*
    24 /*
    25  * @test
    25  * @test
    26  * @bug 6877202
    26  * @bug 6877202 6986246
    27  * @summary Elements.getDocComment() is not getting JavaDocComments
    27  * @summary Elements.getDocComment() is not getting JavaDocComments
    28  */
    28  */
    29 
    29 
    30 import com.sun.source.tree.*;
    30 import com.sun.source.tree.*;
    31 import com.sun.source.util.*;
    31 import com.sun.source.util.*;
   137 
   137 
   138     Map<String,String> options;
   138     Map<String,String> options;
   139     Filer filer;
   139     Filer filer;
   140     Messager messager;
   140     Messager messager;
   141     Elements elements;
   141     Elements elements;
       
   142     Trees trees;
   142     ScanKind skind;
   143     ScanKind skind;
   143 
   144 
   144     int round = 0;
   145     int round = 0;
   145 
   146 
   146     @Override
   147     @Override
   153         super.init(pEnv);
   154         super.init(pEnv);
   154         options = pEnv.getOptions();
   155         options = pEnv.getOptions();
   155         filer = pEnv.getFiler();
   156         filer = pEnv.getFiler();
   156         messager = pEnv.getMessager();
   157         messager = pEnv.getMessager();
   157         elements = pEnv.getElementUtils();
   158         elements = pEnv.getElementUtils();
       
   159         trees = Trees.instance(processingEnv);
   158         skind = ScanKind.valueOf(options.get("scan"));
   160         skind = ScanKind.valueOf(options.get("scan"));
   159     }
   161     }
   160 
   162 
   161     @Override
   163     @Override
   162     public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
   164     public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
   165         // Scan elements using an appropriate scanner, and for each element found,
   167         // Scan elements using an appropriate scanner, and for each element found,
   166         // call check(Element e) to verify the doc comment on that element
   168         // call check(Element e) to verify the doc comment on that element
   167         for (Element e: roundEnv.getRootElements()) {
   169         for (Element e: roundEnv.getRootElements()) {
   168             System.err.println("scan " + skind + " " + e.getKind() + " " + e.getSimpleName());
   170             System.err.println("scan " + skind + " " + e.getKind() + " " + e.getSimpleName());
   169             if (skind == ScanKind.TREE) {
   171             if (skind == ScanKind.TREE) {
   170                 Trees trees = Trees.instance(processingEnv); // cannot cache this across rounds
       
   171                 new TestTreeScanner().scan(trees.getPath(e), trees);
   172                 new TestTreeScanner().scan(trees.getPath(e), trees);
   172             }  else
   173             }  else
   173                 new TestElementScanner().scan(e);
   174                 new TestElementScanner().scan(e);
   174         }
   175         }
   175 
   176