From 29ad862a5bd45d2fdbb921f36bbb95816cf47acc Mon Sep 17 00:00:00 2001 From: Laurent Le Brun Date: Fri, 18 Sep 2015 10:45:07 +0000 Subject: 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 --- src/main/java/com/google/devtools/build/lib/syntax/Parser.java | 1 + .../java/com/google/devtools/build/lib/syntax/EvaluationTest.java | 5 +++++ 2 files changed, 6 insertions(+) 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 @@ -429,6 +429,11 @@ public class EvaluationTest extends EvaluationTestCase { .testLookup("d", "key2"); } + @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) -- cgit v1.2.3