如何识别PMD规则中的换行符

时间:2013-10-14 16:57:30

标签: java pmd abstract-syntax-tree

我正在尝试使用PMD Designer为我的团队创建一些设计和样式规则。目标是将这些规则添加到我们的团队SonarQube。在某些情况下,确定何时使用换行符会很有用。例如:

MyResult result = new Builder().doSomething().run();

MyResult result = new Builder()
    .doSomething()
    .run();

然而,每个的AST都是相同的:

AST Comparison of each technique

无论如何都要确定PMD规则中换行符的区别?如果没有,是否会有不同的分析引擎?

1 个答案:

答案 0 :(得分:1)

虽然AST的结构相同,但实际XML文件中的细节要多得多。特别是,行号和标签列有属性。这意味着您可以针对这些属性编写XPath或Java规则。

您可以看到example here

<TypeDeclaration BeginColumn="1" BeginLine="1" EndColumn="1" EndLine="10"

您也可以为自己的文件生成此文件,以便使用PMD Eclipse插件进行测试。