自定义PMD规则 - 检查包装评论到位

时间:2010-01-30 03:00:39

标签: java static-analysis pmd

我正在尝试编写一条规则来强制包中包含带有特定表达式的Javadoc注释,例如:

/**
 * Example Expression
 */

有人知道如何使用 AbstractJavaRule 类编写这样的规则。我看过ASTPackageDeclaration,但这似乎没有我想要的。

非常感谢...

1 个答案:

答案 0 :(得分:1)

PMD使用JavaCC将每个java文件解析为抽象语法树。通常用于编译的解析器只会删除注释,而且我可以从"How to write a rule"页面上收集的内容中,PMD也会从AST中删除注释。

但是看看PMD论坛,它确实看起来像comments are preserved as a SPECIAL_TOKEN,但很难将它们与它们所关联的AST节点对齐。所以你可能很难写这个规则。你看过Checkstyle了吗?它有RegexpHeader rule可以做你想要的。