From 4c9b853023e31d6896ab918c0c6ceb5459f4f92d Mon Sep 17 00:00:00 2001 From: fzaiser Date: Mon, 23 Oct 2017 20:07:01 +0200 Subject: Skylint: don't report unused variables starting with "unused_" RELNOTES: none PiperOrigin-RevId: 173140830 --- .../skylark/java/com/google/devtools/skylark/skylint/UsageChecker.java | 3 ++- .../com/google/devtools/skylark/skylint/UsageCheckerTest.java | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src/tools') diff --git a/src/tools/skylark/java/com/google/devtools/skylark/skylint/UsageChecker.java b/src/tools/skylark/java/com/google/devtools/skylark/skylint/UsageChecker.java index a1e00adc27..0cc86b2043 100644 --- a/src/tools/skylark/java/com/google/devtools/skylark/skylint/UsageChecker.java +++ b/src/tools/skylark/java/com/google/devtools/skylark/skylint/UsageChecker.java @@ -189,7 +189,8 @@ public class UsageChecker extends AstVisitorWithNameResolution { if ("_".equals(name) || nameInfo.kind == Kind.BUILTIN) { return; } - if ((nameInfo.kind == Kind.LOCAL || nameInfo.kind == Kind.PARAMETER) && name.startsWith("_")) { + if ((nameInfo.kind == Kind.LOCAL || nameInfo.kind == Kind.PARAMETER) + && (name.startsWith("_") || name.startsWith("unused_"))) { // local variables starting with an underscore need not be used return; } diff --git a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/UsageCheckerTest.java b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/UsageCheckerTest.java index 3fd9760d2c..ba7c87b845 100644 --- a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/UsageCheckerTest.java +++ b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/UsageCheckerTest.java @@ -286,6 +286,8 @@ public class UsageCheckerTest { @Test public void dontReportLocalsStartingWithUnderscore() throws Exception { Truth.assertThat(findIssues("def f(_param):", " _local = [[] for _x in []]")).isEmpty(); + Truth.assertThat(findIssues("def f(unused_param):", " unused_local = [[] for unused_x in []]")) + .isEmpty(); } @Test -- cgit v1.2.3