mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-01 15:25:54 +01:00
Rename StartSubtree -> GetSubtreeStartPosition.
This function doesn't actually start a subtree, it just remembers a position from which we could start a subtree.
This commit is contained in:
+16
-16
@@ -209,7 +209,7 @@ struct ParseTree::Parser::SubtreeStart {
|
||||
int tree_size;
|
||||
};
|
||||
|
||||
auto ParseTree::Parser::StartSubtree() -> SubtreeStart {
|
||||
auto ParseTree::Parser::GetSubtreeStartPosition() -> SubtreeStart {
|
||||
return {static_cast<int>(tree.node_impls.size())};
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ auto ParseTree::Parser::ParseParenList(ListElementParser list_element_parser,
|
||||
auto ParseTree::Parser::ParseFunctionParameter() -> llvm::Optional<Node> {
|
||||
// A parameter is of the form
|
||||
// type identifier
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
|
||||
auto type = ParseType();
|
||||
|
||||
@@ -396,7 +396,7 @@ auto ParseTree::Parser::ParseFunctionParameter() -> llvm::Optional<Node> {
|
||||
}
|
||||
|
||||
auto ParseTree::Parser::ParseFunctionSignature() -> bool {
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
|
||||
auto params = ParseParenList(
|
||||
[&] { return ParseFunctionParameter(); },
|
||||
@@ -408,7 +408,7 @@ auto ParseTree::Parser::ParseFunctionSignature() -> bool {
|
||||
has_errors);
|
||||
});
|
||||
|
||||
auto start_return_type = StartSubtree();
|
||||
auto start_return_type = GetSubtreeStartPosition();
|
||||
if (auto arrow = ConsumeIf(TokenKind::MinusGreater())) {
|
||||
auto return_type = ParseType();
|
||||
AddNode(ParseNodeKind::ReturnType(), *arrow, start_return_type,
|
||||
@@ -423,7 +423,7 @@ auto ParseTree::Parser::ParseFunctionSignature() -> bool {
|
||||
|
||||
auto ParseTree::Parser::ParseCodeBlock() -> Node {
|
||||
TokenizedBuffer::Token open_curly = Consume(TokenKind::OpenCurlyBrace());
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
|
||||
bool has_errors = false;
|
||||
|
||||
@@ -450,7 +450,7 @@ auto ParseTree::Parser::ParseCodeBlock() -> Node {
|
||||
|
||||
auto ParseTree::Parser::ParseFunctionDeclaration() -> Node {
|
||||
TokenizedBuffer::Token function_intro_token = Consume(TokenKind::FnKeyword());
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
|
||||
auto add_error_function_node = [&] {
|
||||
return AddNode(ParseNodeKind::FunctionDeclaration(), function_intro_token,
|
||||
@@ -509,7 +509,7 @@ auto ParseTree::Parser::ParseFunctionDeclaration() -> Node {
|
||||
auto ParseTree::Parser::ParseVariableDeclaration() -> Node {
|
||||
// `var` expression identifier [= expression] `;`
|
||||
TokenizedBuffer::Token var_token = Consume(TokenKind::VarKeyword());
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
|
||||
auto type = ParseType();
|
||||
|
||||
@@ -522,7 +522,7 @@ auto ParseTree::Parser::ParseVariableDeclaration() -> Node {
|
||||
}
|
||||
}
|
||||
|
||||
auto start_init = StartSubtree();
|
||||
auto start_init = GetSubtreeStartPosition();
|
||||
if (auto equal_token = ConsumeIf(TokenKind::Equal())) {
|
||||
auto init = ParseExpression();
|
||||
AddNode(ParseNodeKind::VariableInitializer(), *equal_token, start_init,
|
||||
@@ -580,7 +580,7 @@ auto ParseTree::Parser::ParseDeclaration() -> llvm::Optional<Node> {
|
||||
|
||||
auto ParseTree::Parser::ParseParenExpression() -> llvm::Optional<Node> {
|
||||
// `(` expression `)`
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
TokenizedBuffer::Token open_paren = Consume(TokenKind::OpenParen());
|
||||
|
||||
// TODO: If the next token is a close paren, build an empty tuple literal.
|
||||
@@ -657,7 +657,7 @@ auto ParseTree::Parser::ParseCallExpression(SubtreeStart start, bool has_errors)
|
||||
}
|
||||
|
||||
auto ParseTree::Parser::ParsePostfixExpression() -> llvm::Optional<Node> {
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
llvm::Optional<Node> expression = ParsePrimaryExpression();
|
||||
|
||||
while (true) {
|
||||
@@ -679,7 +679,7 @@ auto ParseTree::Parser::ParsePostfixExpression() -> llvm::Optional<Node> {
|
||||
|
||||
auto ParseTree::Parser::ParseOperatorExpression(
|
||||
PrecedenceGroup ambient_precedence) -> llvm::Optional<Node> {
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
|
||||
llvm::Optional<Node> lhs;
|
||||
PrecedenceGroup lhs_precedence = PrecedenceGroup::ForPostfixExpression();
|
||||
@@ -746,7 +746,7 @@ auto ParseTree::Parser::ParseExpression() -> llvm::Optional<Node> {
|
||||
|
||||
auto ParseTree::Parser::ParseExpressionStatement() -> llvm::Optional<Node> {
|
||||
TokenizedBuffer::Token start_token = *position;
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
|
||||
bool has_errors = !ParseExpression();
|
||||
|
||||
@@ -774,7 +774,7 @@ auto ParseTree::Parser::ParseExpressionStatement() -> llvm::Optional<Node> {
|
||||
auto ParseTree::Parser::ParseParenCondition(TokenKind introducer)
|
||||
-> llvm::Optional<Node> {
|
||||
// `(` expression `)`
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
auto open_paren = ConsumeIf(TokenKind::OpenParen());
|
||||
if (!open_paren) {
|
||||
emitter.EmitError<ExpectedParenAfter>(*position,
|
||||
@@ -796,7 +796,7 @@ auto ParseTree::Parser::ParseParenCondition(TokenKind introducer)
|
||||
}
|
||||
|
||||
auto ParseTree::Parser::ParseIfStatement() -> llvm::Optional<Node> {
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
auto if_token = Consume(TokenKind::IfKeyword());
|
||||
auto cond = ParseParenCondition(TokenKind::IfKeyword());
|
||||
auto then_case = ParseStatement();
|
||||
@@ -810,7 +810,7 @@ auto ParseTree::Parser::ParseIfStatement() -> llvm::Optional<Node> {
|
||||
}
|
||||
|
||||
auto ParseTree::Parser::ParseWhileStatement() -> llvm::Optional<Node> {
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
auto while_token = Consume(TokenKind::WhileKeyword());
|
||||
auto cond = ParseParenCondition(TokenKind::WhileKeyword());
|
||||
auto body = ParseStatement();
|
||||
@@ -824,7 +824,7 @@ auto ParseTree::Parser::ParseKeywordStatement(ParseNodeKind kind,
|
||||
auto keyword_kind = NextTokenKind();
|
||||
assert(keyword_kind.IsKeyword());
|
||||
|
||||
auto start = StartSubtree();
|
||||
auto start = GetSubtreeStartPosition();
|
||||
auto keyword = Consume(keyword_kind);
|
||||
|
||||
bool arg_error = false;
|
||||
|
||||
Reference in New Issue
Block a user