aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Laurent Le Brun <laurentlb@google.com>2015-09-18 10:45:07 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-09-21 08:56:49 +0000
commit29ad862a5bd45d2fdbb921f36bbb95816cf47acc (patch)
tree3692b22ac645a181f0011055a1f8fedb2ab04860
parent99081ce80d6021320028955b406f5000d15e84ae (diff)
Allow construct "a, = [1]" in parser.
This is equivalent to: (a,) = [1] which puts the element of a 1-element list in the variable. -- MOS_MIGRATED_REVID=103371728
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Parser.java1
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java5
2 files changed, 6 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Parser.java b/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
index d685dcf5fe..078efce534 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Parser.java
@@ -101,6 +101,7 @@ class Parser {
EnumSet.of(
TokenKind.EOF,
TokenKind.NEWLINE,
+ TokenKind.EQUALS,
TokenKind.RBRACE,
TokenKind.RBRACKET,
TokenKind.RPAREN,
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
index 496e30bb57..04746bb509 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
@@ -430,6 +430,11 @@ public class EvaluationTest extends EvaluationTestCase {
}
@Test
+ public void testSingleTuple() throws Exception {
+ newTest().setUp("a, = [1]").testLookup("a", 1);
+ }
+
+ @Test
public void testHeterogeneousDict() throws Exception {
newTest().setUp("d = {'str': 1, 2: 3}", "a = d['str']", "b = d[2]").testLookup("a", 1)
.testLookup("b", 3);