Fix NullPointerException in parser.

Location was not set.

--
MOS_MIGRATED_REVID=96096088
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 393f540..08dccd9 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
@@ -1416,10 +1416,14 @@
 
   // flow_stmt ::= break_stmt | continue_stmt
   private FlowStatement parseFlowStatement(TokenKind kind) {
+    int start = token.left;
     expect(kind);
-    return (kind == TokenKind.BREAK) ? FlowStatement.BREAK : FlowStatement.CONTINUE;
+    return setLocation(
+        kind == TokenKind.BREAK ? FlowStatement.BREAK : FlowStatement.CONTINUE,
+        start,
+        token.right);
   }
-  
+
   // return_stmt ::= RETURN expr
   private ReturnStatement parseReturnStatement() {
     int start = token.left;
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 fd8478d..3658679 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
@@ -453,6 +453,27 @@
   }
 
   @Test
+  public void testForBreakContinue() throws Exception {
+    List<Statement> file = parseFileForSkylark(
+        "def foo():",
+        "  for i in [1, 2]:",
+        "    break",
+        "    continue");
+    assertThat(file).hasSize(1);
+    List<Statement> body = ((FunctionDefStatement) file.get(0)).getStatements();
+    assertThat(body).hasSize(1);
+
+    List<Statement> loop = ((ForStatement) body.get(0)).block();
+    assertThat(loop).hasSize(2);
+
+    assertThat(loop.get(0)).isEqualTo(FlowStatement.BREAK);
+    assertLocation(34, 40, loop.get(0).getLocation());
+
+    assertThat(loop.get(1)).isEqualTo(FlowStatement.CONTINUE);
+    assertLocation(44, 52, loop.get(1).getLocation());
+  }
+
+  @Test
   public void testListLiterals1() throws Exception {
     ListLiteral list = (ListLiteral) parseExpression("[0,1,2]");
     assertFalse(list.isTuple());