Java 方法/构造函数声明的开始括号后和结束括号前的空格

Java 方法/构造函数声明的开始括号后和结束括号前的空格,java,checkstyle,Java,Checkstyle,我想配置一个简单的checkstyle规则。它应该确保在方法/构造函数声明的开始圆括号之后和结束圆括号之前有空格 示例: 有效:公共无效有效方法声明(布尔foo){} 无效:公共无效invalidMethodDeclaration(布尔foo){} 正常的方法调用应如下所示: methodCall(true) 不幸的是,ParenPad和MethodParamPad模块无法捕获这种情况ParenPad不允许将METHOD_DEF或CTOR_DEF作为令牌,而MethodParamPad只能确保左

我想配置一个简单的checkstyle规则。它应该确保在方法/构造函数声明的开始圆括号之后和结束圆括号之前有空格

示例:

有效
公共无效有效方法声明(布尔foo){}

无效
公共无效invalidMethodDeclaration(布尔foo){}

正常的方法调用应如下所示:

methodCall(true)


不幸的是,
ParenPad
MethodParamPad
模块无法捕获这种情况
ParenPad
不允许将
METHOD_DEF
CTOR_DEF
作为令牌,而
MethodParamPad
只能确保左圆括号前的空间。

ParenPad
将为您执行此检查。如果您对方法/构造函数声明的开始括号之后和结束括号之前的空格感兴趣,但不希望它们出现在方法调用、构造函数调用和super调用周围,那么您可以使用不同的标记集运行
ParenPad
两次:

<module name="ParenPad">
    <property name="option" value="space"/>
    <property name="tokens" value="LPAREN,RPAREN"/>
</module>
<module name="ParenPad">
    <property name="option" value="nospace"/>
    <property name="tokens" value="CTOR_CALL,METHOD_CALL,SUPER_CTOR_CALL"/>
</module>


METHOD_DEF
CTOR_DEF
是树结构中包含多个其他令牌的令牌,包括普通的
LPAREN
rpare

问题是,我们不希望在方法/构造函数调用中有空格,只是在他们的定义中。到达那里-但是现在有一个错误的警告:for
methodCall(true)
I receive
“)”前面没有空格
。今天晚些时候我会研究它。如果有必要,我可以对Checkstyle进行更改-当Checkstyle 6.7发布时,您能使用它吗?或者您被绑定到旧版本?您是对的,对于我的解决方案,方法调用中的“')”上存在不必要的警告。有趣的是,cast操作符中的“')”没有警告。代码中的快速检查:-看起来有人从这个检查中排除了cast操作符的右paren,但是忘记了对方法调用执行同样的操作。我将建议更新Checkstyle,并将通知您进度。我已经更正了本地工作的代码。对。。。因此,我们可能需要Checkstyle中的新check/选项。我们不能仅仅依赖令牌。假设您希望有效调用看起来像
validMethodDeclaration(true)(没有空格),那么这是不可能的。
RPAREN
标记显示为定义和调用的右括号。您必须编写一个自定义检查(可能作为ParenPad的子类),它允许对某些父令牌(例如
METHOD\u DEF
)进行例外。噢,我希望这不是必需的,但唉。完成后,将在此处发布自定义检查的代码。