Parser: Add the 'pass' keyword
--
MOS_MIGRATED_REVID=88857682
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
index b6741c4..f97282e 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ParserTest.java
@@ -778,6 +778,23 @@
}
@Test
+ public void testPass() throws Exception {
+ List<Statement> statements = parseFileForSkylark("pass\n");
+ assertThat(statements).isEmpty();
+ }
+
+ @Test
+ public void testForPass() throws Exception {
+ List<Statement> statements = parseFileForSkylark(
+ "def foo():\n"
+ + " pass\n");
+
+ assertThat(statements).hasSize(1);
+ FunctionDefStatement stmt = (FunctionDefStatement) statements.get(0);
+ assertThat(stmt.getStatements()).isEmpty();
+ }
+
+ @Test
public void testSkipIfBlockFail() throws Exception {
// Do not parse 'if' blocks, when parsePython is not set
syntaxEvents.setFailFast(false);
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
index 65996d8..0b48c68 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/SkylarkEvaluationTest.java
@@ -174,6 +174,18 @@
}
@Test
+ public void testIfPass() throws Exception {
+ exec(parseFileForSkylark(
+ "def foo():\n"
+ + " a = 1\n"
+ + " x = True\n"
+ + " if x: pass\n"
+ + " return a\n"
+ + "a = foo()"), env);
+ assertEquals(1, env.lookup("a"));
+ }
+
+ @Test
public void testNestedIf() throws Exception {
executeNestedIf(0, 0, env);
assertEquals(0, env.lookup("x"));