bazel syntax: trivial parser cleanup PiperOrigin-RevId: 268703051
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 e5c9478..e2a6b88 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
@@ -239,16 +239,16 @@ // | def_stmt // | for_stmt // | if_stmt + // | load_stmt private void parseStatement(List<Statement> list) { - // TODO(adonovan): factor the list.add() calls, in this function. if (token.kind == TokenKind.DEF) { - parseFunctionDefStatement(list); + list.add(parseFunctionDefStatement()); } else if (token.kind == TokenKind.IF) { list.add(parseIfStatement()); } else if (token.kind == TokenKind.FOR) { - parseForStatement(list); + list.add(parseForStatement()); } else if (token.kind == TokenKind.LOAD) { - parseLoadStatement(list); + parseLoadStatement(list); // may add nothing } else { parseSimpleStatement(list); } @@ -1198,7 +1198,7 @@ } // for_stmt ::= FOR IDENTIFIER IN expr ':' suite - private void parseForStatement(List<Statement> list) { + private ForStatement parseForStatement() { int start = token.left; expect(TokenKind.FOR); Expression lhs = parseForLoopVariables(); @@ -1206,13 +1206,13 @@ Expression collection = parseExpression(); expect(TokenKind.COLON); List<Statement> block = parseSuite(); - Statement stmt = new ForStatement(lhs, collection, block); + ForStatement stmt = new ForStatement(lhs, collection, block); int end = block.isEmpty() ? token.left : Iterables.getLast(block).getLocation().getEndOffset(); - list.add(setLocation(stmt, start, end)); + return setLocation(stmt, start, end); } // def_stmt ::= DEF IDENTIFIER '(' arguments ')' ':' suite - private void parseFunctionDefStatement(List<Statement> list) { + private FunctionDefStatement parseFunctionDefStatement() { int start = token.left; expect(TokenKind.DEF); Identifier ident = parseIdent(); @@ -1225,7 +1225,7 @@ List<Statement> block = parseSuite(); FunctionDefStatement stmt = new FunctionDefStatement(ident, params, signature, block); int end = block.isEmpty() ? token.left : Iterables.getLast(block).getLocation().getEndOffset(); - list.add(setLocation(stmt, start, end)); + return setLocation(stmt, start, end); } private FunctionSignature.WithValues<Expression, Expression> functionSignature(