Skip to content

Commit bc26f7b

Browse files
graememorganError Prone Team
authored andcommitted
TruthConstantAsserts: treat static identifiers as constants.
Sorry, I managed to submit b063711 before amending some more changes. No idea how, there's meant to be a warning. PiperOrigin-RevId: 828871382
1 parent 7692fb4 commit bc26f7b

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static com.google.errorprone.BugPattern.SeverityLevel.WARNING;
2121
import static com.google.errorprone.matchers.method.MethodMatchers.instanceMethod;
2222
import static com.google.errorprone.matchers.method.MethodMatchers.staticMethod;
23+
import static com.google.errorprone.util.ASTHelpers.isStatic;
2324

2425
import com.google.errorprone.BugPattern;
2526
import com.google.errorprone.BugPattern.StandardTags;
@@ -110,7 +111,7 @@ private boolean constantIsh(ExpressionTree tree, VisitorState state) {
110111
new ConstantExpressionVisitor() {
111112
@Override
112113
public void visitIdentifier(Symbol identifier) {
113-
if (!(identifier instanceof MethodSymbol)) {
114+
if (!(identifier instanceof MethodSymbol) && !isStatic(identifier)) {
114115
involvesIdentifiers.set(true);
115116
}
116117
}

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,4 +129,27 @@ public void test(Object a) {
129129
""")
130130
.doTest();
131131
}
132+
133+
@Test
134+
public void positiveWithEnumOnLeftHandSide() {
135+
compilationHelper
136+
.addSourceLines(
137+
"Test.java",
138+
"""
139+
import static com.google.common.truth.Truth.assertThat;
140+
141+
public class Test {
142+
enum TestEnum {
143+
A,
144+
B
145+
}
146+
147+
public void test(Object a) {
148+
// BUG: Diagnostic contains:
149+
assertThat(TestEnum.A).isEqualTo(a);
150+
}
151+
}
152+
""")
153+
.doTest();
154+
}
132155
}

0 commit comments

Comments
 (0)