首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javaparser注释表达式

Javaparser注释表达式
EN

Stack Overflow用户
提问于 2021-06-02 18:03:00
回答 1查看 299关注 0票数 2

我试图使用Javaparser对java文件中所有对自定义方法的调用进行注释。我的第一种方法是使用ModifierVisitor:

代码语言:javascript
复制
ModifierVisitor<Object> visitante = new ModifierVisitor<Object>() {

            @Override
            public Visitable visit(MethodCallExpr n, Object arg) {
                if (!"MYMETHOD".equalsIgnoreCase(n.getNameAsString())) {
                    return super.visit(n, arg);
                }
                Node comment = new BlockComment(n.toString());
                return comment;
            }
        };
        visitante.visit(this.ficheroCompilado, null);

..。代码正确地找到了对"MYMETHOD“的方法调用,但是当我试图用BlockComment替换它时,会引发异常:

代码语言:javascript
复制
java.lang.ClassCastException: com.github.javaparser.ast.comments.LineComment cannot be cast to com.github.javaparser.ast.expr.Expression
    at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:477)
    at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51)
    at com.github.javaparser.ast.stmt.ExpressionStmt.accept(ExpressionStmt.java:71)


...

似乎我只能用另一个表达式替换一个表达式(因为更改在ExpressionStmt中)。

我如何处理它并将方法调用转换为注释?

谢谢大家

更新:最后,我做了一个黑客:将方法的名称更改为"//“+方法名,因此它最终得到了注释。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 22:53:58

最后,我做了一个黑客:将该方法的名称更改为"//“+方法名,因此它最终得到了注释。

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

https://stackoverflow.com/questions/67810320

复制
相关文章

相似问题

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