diff options
Diffstat (limited to 'src/tools/skylark')
2 files changed, 8 insertions, 2 deletions
diff --git a/src/tools/skylark/java/com/google/devtools/skylark/skylint/StatementWithoutEffectChecker.java b/src/tools/skylark/java/com/google/devtools/skylark/skylint/StatementWithoutEffectChecker.java index 3e50ae4587..7ec1b4c23b 100644 --- a/src/tools/skylark/java/com/google/devtools/skylark/skylint/StatementWithoutEffectChecker.java +++ b/src/tools/skylark/java/com/google/devtools/skylark/skylint/StatementWithoutEffectChecker.java @@ -81,7 +81,11 @@ public class StatementWithoutEffectChecker extends SyntaxTreeVisitor { // list] return; } - issues.add(Issue.create(NO_EFFECT_CATEGORY, "expression result not used", node.getLocation())); + String message = "expression result not used"; + if (expr instanceof ListComprehension && !topLevel) { + message += ". Use a for-loop instead instead of a list comprehension."; + } + issues.add(Issue.create(NO_EFFECT_CATEGORY, message, node.getLocation())); } @Override diff --git a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/StatementWithoutEffectCheckerTest.java b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/StatementWithoutEffectCheckerTest.java index 4595f31670..a00a1a1d56 100644 --- a/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/StatementWithoutEffectCheckerTest.java +++ b/src/tools/skylark/javatests/com/google/devtools/skylark/skylint/StatementWithoutEffectCheckerTest.java @@ -58,7 +58,9 @@ public class StatementWithoutEffectCheckerTest { findIssues( "def f():", " [print(x) for x in range(5)] # should be replaced by for-loop") .toString()) - .contains("2:3-2:30: expression result not used [no-effect]"); + .contains( + "2:3-2:30: expression result not used." + + " Use a for-loop instead instead of a list comprehension. [no-effect]"); } @Test |