Java Parser 注释语句

时间:2021-06-07 06:26:21

标签: javaparser

我想评论一个特殊的声明。

  1. 我的第一种方法是在 case 语句是“表达式语句”而表达式是特定的“方法调用表达式”时返回注释。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id='book-items'></div>

但是在将单元转回字符串时失败了。

new ModifierVisitor<Object>() {
   public Visitable visit(ExpressionStmt expStmt, Object arg) {
      Expression exp = expStmt.getExpression();
         if (exp.isMethodCallExpr()) {

         // My other logic goes here
         
         return new LineComment(expStmt.toString());
         }
    }
}


  1. 因为它表明您可以用另一个语句替换“语句”,所以我尝试了另一种方法来替换该语句并使用“空语句”。它对我有用,但输出看起来不太好,因为它留下了额外的 ';'在注释行之后。

  2. 第三次我尝试更深入,而不是替换语句,而是尝试用注释替换表达式。如SO - Javaparser comment expression中所述,这也失败了。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我尝试了一种变通方法,但感觉不是一个好的解决方案,但现在给了我预期的结果:

BlockStmt blockStmt = (BlockStmt) expStmt.getParentNode().get();
blockStmt.getStatement(blockStmt.getStatements().indexOf(expStmt) + 1).setLineComment(expStmt.toString());
return null;
相关问题