child of #14942 , #14960
we need to update UnusedLocalVariableCheck to support unnamed variables in local variables declaration and in enhanced/basic for.
I have read check documentation: https://checkstyle.org/checks/coding/unusedlocalvariable.html
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/Test.java
PS D:\CS\test> cat src/Test.java
import java.util.PriorityQueue;
import java.util.Queue;
class Test {
void test() {
Queue<Integer> q = new PriorityQueue<>();
q.add(1);
while (!q.isEmpty()) {
var _ = q.poll(); // violation
}
}
}
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="UnusedLocalVariable">
</module>
</module>
</module>
PS D:\CS\test> java -jar checkstyle-10.14.2-all.jar -c config.xml src/Test.java
Starting audit...
[ERROR] D:\CS\test\src\Test.java:9:13: Unused local variable '_'. [UnusedLocalVariable]
Audit done.
Checkstyle ends with 1 errors.
Describe what you expect in detail.
underscore is used to declare variables that are not intended to be used. So, I consider this example as a false positive. the check should not violate unnamed variables
child of #14942 , #14960
we need to update
UnusedLocalVariableCheckto support unnamed variables in local variables declaration and in enhanced/basic for.I have read check documentation: https://checkstyle.org/checks/coding/unusedlocalvariable.html
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
Describe what you expect in detail.
underscore is used to declare variables that are not intended to be used. So, I consider this example as a false positive. the check should not violate unnamed variables