diff --git a/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/StrictUnusedVariable.java b/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/StrictUnusedVariable.java index 456bd926b..da34815b9 100644 --- a/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/StrictUnusedVariable.java +++ b/baseline-error-prone/src/main/java/com/palantir/baseline/errorprone/StrictUnusedVariable.java @@ -67,7 +67,6 @@ import com.google.errorprone.fixes.SuggestedFix; import com.google.errorprone.fixes.SuggestedFixes; import com.google.errorprone.matchers.Description; -import com.google.errorprone.suppliers.Suppliers; import com.google.errorprone.util.ASTHelpers; import com.sun.source.tree.AnnotationTree; import com.sun.source.tree.ArrayAccessTree; @@ -112,6 +111,7 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.regex.Pattern; import javax.annotation.Nullable; import javax.lang.model.element.ElementKind; import javax.lang.model.element.Modifier; @@ -146,9 +146,6 @@ public final class StrictUnusedVariable extends BugChecker implements BugChecker "org.openqa.selenium.support.FindBy", "org.openqa.selenium.support.FindBys"); - /** The set of types exempting a type that is extending or implementing them. */ - private static final ImmutableSet EXEMPTING_SUPER_TYPES = ImmutableSet.of(); - /** The set of types exempting a field of type extending them. */ private static final ImmutableSet EXEMPTING_FIELD_SUPER_TYPES = ImmutableSet.of("org.junit.rules.TestRule", "org.slf4j.Logger"); @@ -751,11 +748,12 @@ public Void visitClass(ClassTree tree, Void unused) { if (isSuppressed(tree)) { return null; } - if (EXEMPTING_SUPER_TYPES.stream() - .anyMatch(t -> - isSubtype(getType(tree), Suppliers.typeFromString(t).get(state), state))) { + + Pattern isRecord = Pattern.compile("record\\s+" + tree.getSimpleName() + "\\("); + if (isRecord.matcher(state.getSourceForNode(tree)).find()) { return null; } + return super.visitClass(tree, null); } diff --git a/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/StrictUnusedVariableTest.java b/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/StrictUnusedVariableTest.java index f95d9f0d7..003e5403f 100644 --- a/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/StrictUnusedVariableTest.java +++ b/baseline-error-prone/src/test/java/com/palantir/baseline/errorprone/StrictUnusedVariableTest.java @@ -305,12 +305,7 @@ public void testRecord() { .setArgs(ImmutableList.of("--enable-preview", "--release", "14")); compilationHelper - .addSourceLines( - "Test.java", - "class Test {", - "@SuppressWarnings(\"StrictUnusedVariable\")", - " record Foo(int foo) {}", - "}") + .addSourceLines("Test.java", "class Test {", " record Foo(int foo) {}", "}") .doTest(); }