0

我的声纳版本是 5.6.4,它在我的代码中抛出 java.lang.NoSuchMethodError。

org.sonar.plugins.javascript.api.tree.expression.CallExpressionTree.argumentClause()Lorg/sonar/plugins/javascript/api/tree/expression/ArgumentListTree;

public void visitCallExpression(CallExpressionTree tree) {
    if (tree.callee() instanceof DotMemberExpressionTree){
      DotMemberExpressionTree dmTree = (DotMemberExpressionTree) tree.callee();
      System.out.println(tree);
      if (isLionGetProperty(dmTree) && tree.argumentClause().arguments().size() < 2) {
        addIssue(tree.callee(), MESSAGE);
      }
      super.visitCallExpression(tree);
    }
  }

我的本地插件工作正常,它基于 Sonar 6.2。我在哪里可以获得有关旧版 SonarJS 的文档

4

1 回答 1

0

方法argumentClause是在 SonarJS 3.0 中添加的,您至少需要安装此版本的 SonarJS 才能使用它。没有文档,您可以在源存储库或 JIRA 中找到信息(例如argumentClause此票证中添加)

于 2018-04-24T07:58:39.383 回答