diff --git a/core/src/main/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEquality.java b/core/src/main/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEquality.java index 17b92d05120..24b4b54eec0 100644 --- a/core/src/main/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEquality.java +++ b/core/src/main/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEquality.java @@ -38,13 +38,11 @@ summary = "Comparing protobuf fields of type String using reference equality") public class ProtoStringFieldReferenceEquality extends BugChecker implements BinaryTreeMatcher { - private static final String PROTO_SUPER_CLASS = "com.google.protobuf.GeneratedMessage"; - - private static final String LITE_PROTO_SUPER_CLASS = "com.google.protobuf.GeneratedMessageLite"; + private static final String LITE_PROTO_INTERFACE = "com.google.protobuf.MessageLite"; private static final Matcher PROTO_STRING_METHOD = allOf( - instanceMethod().onDescendantOfAny(PROTO_SUPER_CLASS, LITE_PROTO_SUPER_CLASS), + instanceMethod().onDescendantOf(LITE_PROTO_INTERFACE), isSameType(Suppliers.STRING_TYPE)); @Override diff --git a/core/src/test/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEqualityTest.java b/core/src/test/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEqualityTest.java index 26dcd21260f..66deac5c1ca 100644 --- a/core/src/test/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEqualityTest.java +++ b/core/src/test/java/com/google/errorprone/bugpatterns/ProtoStringFieldReferenceEqualityTest.java @@ -32,16 +32,16 @@ public class ProtoStringFieldReferenceEqualityTest { public void positive() { compilationHelper .addSourceLines( - "com/google/protobuf/GeneratedMessage.java", + "com/google/protobuf/MessageLite.java", """ package com.google.protobuf; - public class GeneratedMessage {} + public interface MessageLite {} """) .addSourceLines( "Proto.java", """ - public abstract class Proto extends com.google.protobuf.GeneratedMessage { + public abstract class Proto implements com.google.protobuf.MessageLite { public abstract String getMessage(); } """) @@ -68,16 +68,16 @@ boolean g(Proto proto) { public void negative() { compilationHelper .addSourceLines( - "com/google/protobuf/GeneratedMessage.java", + "com/google/protobuf/MessageLite.java", """ package com.google.protobuf; - public class GeneratedMessage {} + public interface MessageLite {} """) .addSourceLines( "Proto.java", """ - public abstract class Proto extends com.google.protobuf.GeneratedMessage { + public abstract class Proto implements com.google.protobuf.MessageLite { public abstract int getId(); public abstract String getMessage();