Parser: allow multiple statements on the same line as the colon
e.g. def foo(x, y): print(x); print(y)
Bug found when adding the pass statement.
--
MOS_MIGRATED_REVID=88852710
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 56a32e9..6a856f6 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
@@ -1210,6 +1210,7 @@
return ImmutableList.copyOf(arguments);
}
+ // suite is typically what follows a colon (e.g. after def or for).
// suite ::= simple_stmt
// | NEWLINE INDENT stmt+ OUTDENT
private List<Statement> parseSuite() {
@@ -1227,9 +1228,7 @@
}
expect(TokenKind.OUTDENT);
} else {
- Statement stmt = parseSmallStatement();
- list.add(stmt);
- expect(TokenKind.NEWLINE);
+ parseSimpleStatement(list);
}
return list;
}