aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
index 4415a85ce4..6f5eb9c401 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
@@ -158,6 +158,16 @@ public final class ValidationEnvironment extends SyntaxTreeVisitor {
super.visit(node);
}
+ @Override
+ public void visit(AugmentedAssignmentStatement node) {
+ if (node.getLValue().getExpression() instanceof ListLiteral) {
+ throw new ValidationException(
+ node.getLocation(), "cannot perform augmented assignment on a list or tuple expression");
+ }
+ // Other bad cases are handled when visiting the LValue node.
+ super.visit(node);
+ }
+
/** Returns true if the current block is the top level i.e. has no parent. */
private boolean isTopLevel() {
return block.parent == null;