diff --git a/core/src/main/java/com/google/errorprone/bugpatterns/UnusedVariable.java b/core/src/main/java/com/google/errorprone/bugpatterns/UnusedVariable.java index dca3245af04..43f0421e2aa 100644 --- a/core/src/main/java/com/google/errorprone/bugpatterns/UnusedVariable.java +++ b/core/src/main/java/com/google/errorprone/bugpatterns/UnusedVariable.java @@ -704,6 +704,11 @@ && exemptedFieldBySuperType(getType(variableTree), state)) { if (wellKnownKeep.shouldKeep(variableTree)) { return; } + // Skip variables that don't have an explicit source position + // (e.g., Lombok-generated fields like @Slf4j's log field). + if (!hasExplicitSource(variableTree, state)) { + return; + } switch (symbol.getKind()) { case FIELD -> { // We are only interested in private fields and those which are not special.