【问题标题】:How to Get Comments Using SPOON?如何使用 SPOON 获得评论?
【发布时间】:2018-06-13 16:27:02
【问题描述】:

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

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

我们知道SPOON可以处理的Java cmets的多样性,但是当我使用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());   
  }
}

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

【问题讨论】:

    标签: comments inria-spoon


    【解决方案1】:

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

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

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

    现在它应该可以工作了。

    【讨论】:

    • 非常感谢,兄弟!我还注意到网站http://spoon.gforge.inria.fr/comments.html 中的小注释。我建议你们应该强调这个选项/配置/参数。还是谢谢你!
    • 感谢您的建议,我会看到的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 2016-10-07
    • 2022-01-27
    相关资源
    最近更新 更多