首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spoon获取文档注释中非Javadoc标记的文本

使用Spoon获取文档注释中非Javadoc标记的文本
EN

Stack Overflow用户
提问于 2020-09-09 19:08:24
回答 1查看 61关注 0票数 1

我想使用inria-spoon来处理在文档注释中具有自定义非Javadoc标签的Java源文件。但是,当Spoon处理文档注释时,使用CtMethod#getDocComment()返回的String将用@unknown替换非Javadoc标记的文本。我需要保留标签的原始文本,以便进一步过滤和处理。

下面的两个类显示了输出为

代码语言:javascript
复制
@unknown some-value
@return name of husband

所需的是

代码语言:javascript
复制
@abc:xyz some-value
@return name of husband

运行的主方法为Spooner的类,正在处理的源为Carrie.java

Spooner.java

代码语言:javascript
复制
package tryspoon;

import spoon.Launcher;
import spoon.reflect.declaration.CtMethod;
import spoon.reflect.visitor.filter.TypeFilter;

public class Spooner
{
    private static final String SAMPLE_SOURCE_PATH = "full_local_path_to_source";


    public static void main(String[] args)
    {
        Launcher launcher = new Launcher();
        launcher.addInputResource(SAMPLE_SOURCE_PATH);
        launcher.buildModel();

        String firstDocComment = launcher.getModel()
          .getElements(new TypeFilter<>(CtMethod.class))
          .get(0).getDocComment();

        System.out.println("First Doc comment contents: " + firstDocComment);

    }
}

Carrie.java

代码语言:javascript
复制
package tryspoon;

public class Carrie {
  /**
   * @abc:xyz some-value
   * @return name of husband
   */
  public String husband()
  {
    return "Doug";
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-10 13:08:26

https://github.com/INRIA/spoon/pull/3513被合并时,这个问题很快就会在master中得到解决。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63810364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档