如何使用 SPOON 获取评论?

How to Get Comments Using SPOON?

全部!不知道大家在使用 SPOON 获取 Java 代码注释时是否遇到问题。根据以下网站的描述,

http://spoon.gforge.inria.fr/comments.html

我们知道 SPOON 可以处理 Java 评论的多样性,但是当我使用函数 CtElement.getDocComment() 或界面 spoon.reflect.code.CtComment, 我无法获取任何评论内容。

main函数中只有一个Launcher对象,

Launcher launcher = new Launcher();
launcher.addInputResource("src/main/java/org/xxx/A.java");
CtModel model = launcher.buildModel();
model.processWith(new CLSProsessor());

处理器CLSProcessor如下,

class COMProcessore extends AbstractProcessor<CtComment>{

  @Override
  public boolean isToBeProcessed(CtComment candidate) {
    // only process Javadoc
    if (candidate.getCommentType() == CtComment.CommentType.JAVADOC) {
        return true;
    }
    return false;
  }

  @Override
  public void process(CtComment arg0) {
    System.out.println(">>" + arg0.getContent());   
  }
}

寻求您的帮助,欢迎任何意见!

默认情况下,Spoon 不考虑源代码中的注释。 为了使它们可用,您必须切换一个选项来激活它们。

这可以使用以下代码完成:

Launcher launcher = new Launcher();
launcher.getEnvironment().setCommentEnabled(true);

现在应该可以了。