我正在尝试编写一条规则来强制包中包含带有特定表达式的Javadoc注释,例如:
/**
* Example Expression
*/
有人知道如何使用 AbstractJavaRule 类编写这样的规则。我看过ASTPackageDeclaration,但这似乎没有我想要的。
非常感谢...
答案 0 :(得分:1)
PMD使用JavaCC将每个java文件解析为抽象语法树。通常用于编译的解析器只会删除注释,而且我可以从"How to write a rule"页面上收集的内容中,PMD也会从AST中删除注释。
但是看看PMD论坛,它确实看起来像comments are preserved as a SPECIAL_TOKEN,但很难将它们与它们所关联的AST节点对齐。所以你可能很难写这个规则。你看过Checkstyle了吗?它有RegexpHeader rule可以做你想要的。