0

全部!我不确定你们在使用SPOON获取 Java 代码注释时是否遇到问题。根据以下网站的描述,

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

我们知道SPOON可以处理的 Java 注释种类繁多,但是当我使用函数CtElement.getDocComment()或接口spoon.reflect.code.CtComment时,我无法获得任何注释内容。

主函数中只有一个 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());   
  }
}

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

4

1 回答 1

1

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

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

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

现在它应该可以工作了。

于 2018-06-13T08:27:02.730 回答