Skip to content

Commit 3c567a9

Browse files
committed
WS-6666 Apply error-prone suggestions
1 parent bacf7af commit 3c567a9

2 files changed

Lines changed: 23 additions & 13 deletions

File tree

error-prone-contrib/src/main/java/tech/picnic/errorprone/bugpatterns/ImplicitVarUsage.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
import static com.google.errorprone.BugPattern.SeverityLevel.WARNING;
55
import static com.google.errorprone.BugPattern.StandardTags.STYLE;
66
import static com.google.errorprone.matchers.Description.NO_MATCH;
7-
import static com.google.errorprone.util.ASTHelpers.getSymbol;
8-
import static com.google.errorprone.util.ASTHelpers.getType;
9-
import static com.google.errorprone.util.ASTHelpers.hasImplicitType;
107
import static javax.lang.model.element.ElementKind.LOCAL_VARIABLE;
118
import static tech.picnic.errorprone.utils.Documentation.BUG_PATTERNS_BASE_URL;
129

@@ -18,6 +15,7 @@
1815
import com.google.errorprone.fixes.SuggestedFix;
1916
import com.google.errorprone.fixes.SuggestedFixes;
2017
import com.google.errorprone.matchers.Description;
18+
import com.google.errorprone.util.ASTHelpers;
2119
import com.sun.source.tree.ExpressionTree;
2220
import com.sun.source.tree.NewClassTree;
2321
import com.sun.source.tree.TypeCastTree;
@@ -41,8 +39,8 @@ public ImplicitVarUsage() {}
4139
@Override
4240
public Description matchVariable(VariableTree variableTree, VisitorState visitorState) {
4341
// Only check local variables with implicit 'var' type
44-
if (!getSymbol(variableTree).getKind().equals(LOCAL_VARIABLE)
45-
|| !hasImplicitType(variableTree, visitorState)) {
42+
if (ASTHelpers.getSymbol(variableTree).getKind() != LOCAL_VARIABLE
43+
|| !ASTHelpers.hasImplicitType(variableTree, visitorState)) {
4644
return NO_MATCH;
4745
}
4846

@@ -78,7 +76,7 @@ public Description matchVariable(VariableTree variableTree, VisitorState visitor
7876
}
7977

8078
// Get the actual type for suggestion
81-
Type type = getType(initializer);
79+
Type type = ASTHelpers.getType(initializer);
8280
if (type == null) {
8381
return NO_MATCH;
8482
}

error-prone-contrib/src/test/java/tech/picnic/errorprone/bugpatterns/ImplicitVarUsageTest.java

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ void testIdentification() {
1111
.addSourceLines(
1212
"Test.java",
1313
"import java.util.List;",
14-
"import java.util.Optional;",
14+
"",
1515
"class Test {",
1616
" void test() {",
1717
" // BUG: Diagnostic contains:",
@@ -32,8 +32,14 @@ void testIdentification() {
3232
" // Should NOT be flagged - constructor reference",
3333
" var constructorReference = getList().stream().map(String::new).findFirst();",
3434
" }",
35-
" private List<String> getList() { return null; }",
36-
" private <T> T getForType(Class<T> clazz) { return null; }",
35+
"",
36+
" private List<String> getList() {",
37+
" return null;",
38+
" }",
39+
"",
40+
" private <T> T getForType(Class<T> clazz) {",
41+
" return null;",
42+
" }",
3743
"}")
3844
.doTest();
3945
}
@@ -44,24 +50,30 @@ void testRefactoring() {
4450
.addInputLines(
4551
"Test.java",
4652
"import java.util.List;",
47-
"import java.util.Optional;",
53+
"",
4854
"class Test {",
4955
" void test() {",
5056
" var methodCall = getList();",
5157
" var chainedMethodCall = getList().stream().filter(s -> s.length() > 2).toList();",
5258
" }",
53-
" private List<String> getList() { return null; }",
59+
"",
60+
" private List<String> getList() {",
61+
" return null;",
62+
" }",
5463
"}")
5564
.addOutputLines(
5665
"Test.java",
5766
"import java.util.List;",
58-
"import java.util.Optional;",
67+
"",
5968
"class Test {",
6069
" void test() {",
6170
" List<String> methodCall = getList();",
6271
" List<String> chainedMethodCall = getList().stream().filter(s -> s.length() > 2).toList();",
6372
" }",
64-
" private List<String> getList() { return null; }",
73+
"",
74+
" private List<String> getList() {",
75+
" return null;",
76+
" }",
6577
"}")
6678
.doTest();
6779
}

0 commit comments

Comments
 (0)