-
-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Closed
Description
child of #14890
I have read check documentation: https://checkstyle.org/checks/whitespace/parenpad.html#ParenPad
I have downloaded the latest checkstyle from: https://checkstyle.org/cmdline.html#Download_and_Run
I have executed the cli and showed it below, as cli describes the problem better than 1,000 words
PS D:\CS\test> javac src/RecordPatterns.java
PS D:\CS\test> cat src/RecordPatterns.java
import java.util.List;
public class RecordPatterns {
record Box<T>(T t) { }
void Example1(Box<Box<String>> bbs) {
switch (bbs) {
case Box( Box( var s)) -> System.out.println(s); // expected violation
}
if (bbs instanceof Box( Box( var s))) { // violation
System.out.println(s);
}
}
}
PS D:\CS\test> cat config.xml
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="charset" value="UTF-8"/>
<module name="TreeWalker">
<module name="ParenPad"/>
</module>
</module>
PS D:\CS\test> java -jar checkstyle-10.14.2-all.jar -c config.xml src/RecordPatterns.java
Starting audit...
[ERROR] D:\CS\test\src\RecordPatterns.java:10:31: '(' is followed by whitespace. [ParenPad]
[ERROR] D:\CS\test\src\RecordPatterns.java:10:36: '(' is followed by whitespace. [ParenPad]
Audit done.
Checkstyle ends with 2 errors.
Describe what you expect in detail.
violations on the record pattern used in case label
Note:
violations on line 10 are due to #14747. the check violates record patterns under EXPR
token even if the record pattern is not in the config. this is due to the deep scan
but still we should support this token in the check