Skip to content

Commit b83a2b4

Browse files
committed
Fix a CCE in MutablePublicArray
Discovered while validating 2.4.0 release (#1639) ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=313488001
1 parent 10c7955 commit b83a2b4

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

core/src/main/java/com/google/errorprone/bugpatterns/MutablePublicArray.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.google.errorprone.bugpatterns.BugChecker.VariableTreeMatcher;
2929
import com.google.errorprone.matchers.Description;
3030
import com.google.errorprone.matchers.Matcher;
31+
import com.sun.source.tree.ExpressionTree;
3132
import com.sun.source.tree.Tree.Kind;
3233
import com.sun.source.tree.VariableTree;
3334
import com.sun.tools.javac.tree.JCTree.JCLiteral;
@@ -66,10 +67,11 @@ private static boolean nonEmptyArrayMatcher(VariableTree arrayExpression, Visito
6667
if (!isArrayType().matches(arrayExpression, state)) {
6768
return false;
6869
}
69-
JCNewArray newArray = (JCNewArray) arrayExpression.getInitializer();
70-
if (newArray == null) {
70+
ExpressionTree initializer = arrayExpression.getInitializer();
71+
if (!(initializer instanceof JCNewArray)) {
7172
return false;
7273
}
74+
JCNewArray newArray = (JCNewArray) initializer;
7375
if (!newArray.getDimensions().isEmpty()) {
7476
return newArray.getDimensions().stream()
7577
.allMatch(

core/src/test/java/com/google/errorprone/bugpatterns/MutablePublicArrayTest.java

+13
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,17 @@ public void publicStaticFinalStaticInitializeBlock() {
168168
"}")
169169
.doTest();
170170
}
171+
172+
@Test
173+
public void notAnArray() {
174+
compilationHelper
175+
.addSourceLines(
176+
"Test.java",
177+
"class Test {",
178+
" // BUG: Diagnostic contains: MutablePublicArray",
179+
" public static final long[] y = {0};",
180+
" public static final long[] l = y;",
181+
"}")
182+
.doTest();
183+
}
171184
}

0 commit comments

Comments
 (0)