From 386bca733bb6d419127e971134fb924fdc3ec17d Mon Sep 17 00:00:00 2001 From: cpovirk Date: Mon, 5 Aug 2019 11:49:34 -0700 Subject: [PATCH] Recognize that FluentIterable has undefined equals(), too. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=261734122 --- .../com/google/errorprone/bugpatterns/UndefinedEquals.java | 2 +- .../com/google/errorprone/bugpatterns/UndefinedEqualsTest.java | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/google/errorprone/bugpatterns/UndefinedEquals.java b/core/src/main/java/com/google/errorprone/bugpatterns/UndefinedEquals.java index 8f063167bbc..3c51d1f4e82 100644 --- a/core/src/main/java/com/google/errorprone/bugpatterns/UndefinedEquals.java +++ b/core/src/main/java/com/google/errorprone/bugpatterns/UndefinedEquals.java @@ -148,7 +148,7 @@ && isSameType(getType(receiver), state.getSymtab().stringType, state)) { return Optional.empty(); } }, - ITERABLE("Iterable", "java.lang.Iterable") { + ITERABLE("Iterable", "java.lang.Iterable", "com.google.common.collect.FluentIterable") { @Override Optional generateFix(Tree receiver, Tree argument, VisitorState state) { return Optional.empty(); diff --git a/core/src/test/java/com/google/errorprone/bugpatterns/UndefinedEqualsTest.java b/core/src/test/java/com/google/errorprone/bugpatterns/UndefinedEqualsTest.java index 99957321d38..d187b186504 100644 --- a/core/src/test/java/com/google/errorprone/bugpatterns/UndefinedEqualsTest.java +++ b/core/src/test/java/com/google/errorprone/bugpatterns/UndefinedEqualsTest.java @@ -69,12 +69,15 @@ public void positiveAssertEquals() { .addSourceLines( "Test.java", "import java.util.List;", + "import com.google.common.collect.FluentIterable;", "import com.google.common.collect.Iterables;", "import static org.junit.Assert.assertEquals;", "import static org.junit.Assert.assertNotEquals;", "class Test {", " void test(List myList, List otherList) {", " // BUG: Diagnostic contains: Iterable does not have", + " assertEquals(FluentIterable.of(1), FluentIterable.of(1));", + " // BUG: Diagnostic contains: Iterable does not have", " assertEquals(Iterables.skip(myList, 1), Iterables.skip(myList, 2));", " // BUG: Diagnostic contains: Iterable does not have", " assertNotEquals(Iterables.skip(myList, 1), Iterables.skip(myList, 2));",