【发布时间】:2011-01-11 02:52:59
【问题描述】:
我正在尝试编写一个规则来强制一个包包含带有特定表达式的 Javadoc 注释,例如:
/**
* Example Expression
*/
有人知道我将如何使用 AbstractJavaRule 类编写这样的规则。我查看了 ASTPackageDeclaration,但这似乎没有我想要的。
提前非常感谢...
【问题讨论】:
标签: java static-analysis pmd
我正在尝试编写一个规则来强制一个包包含带有特定表达式的 Javadoc 注释,例如:
/**
* Example Expression
*/
有人知道我将如何使用 AbstractJavaRule 类编写这样的规则。我查看了 ASTPackageDeclaration,但这似乎没有我想要的。
提前非常感谢...
【问题讨论】:
标签: java static-analysis pmd
PMD 使用 JavaCC 将每个 java 文件解析为抽象语法树。通常用于编译的解析器只删除 cmets,根据我在"How to write a rule" 页面上收集到的信息,PMD 也从 AST 删除 cmets。
但是看PMD论坛,确实像comments are preserved as a SPECIAL_TOKEN,但是很难将它们与它们关联的AST节点对齐。所以你可能很难写出这条规则。你看过Checkstyle吗?它有一个RegexpHeader rule,可以做你想做的事。
【讨论】: