如何使用 SPOON 获取评论?
How to Get Comments Using SPOON?
全部!不知道大家在使用 SPOON 获取 Java 代码注释时是否遇到问题。根据以下网站的描述,
我们知道 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);
现在应该可以了。
全部!不知道大家在使用 SPOON 获取 Java 代码注释时是否遇到问题。根据以下网站的描述,
我们知道 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);
现在应该可以了。