Skylark: Fix an infinite loop in the parser
--
MOS_MIGRATED_REVID=88830705
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 555f08a..56a32e9 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
@@ -958,7 +958,7 @@
return list;
}
- // load(STRING (COMMA STRING)*)
+ // load '(' STRING (COMMA STRING)* COMMA? ')'
private void parseLoad(List<Statement> list) {
int start = token.left;
if (token.kind != TokenKind.STRING) {
@@ -974,7 +974,7 @@
symbols.add(new Ident((String) token.value));
}
expect(TokenKind.STRING);
- while (token.kind != TokenKind.RPAREN) {
+ while (token.kind != TokenKind.RPAREN && token.kind != TokenKind.EOF) {
expect(TokenKind.COMMA);
if (token.kind == TokenKind.RPAREN) {
break;