Replace int lines with file-associated SourceLocations (#779)

Most interesting changes should be ast/source_location.h and syntax/parse_and_lex_context.h
This commit is contained in:
Jon Meow
2021-08-26 10:07:16 -07:00
committed by GitHub
parent 33daf64329
commit 3ec550a85f
46 changed files with 607 additions and 518 deletions
+4 -4
View File
@@ -17,21 +17,21 @@ namespace Carbon {
using llvm::cast;
auto ExpressionFromParenContents(
int line_num, const ParenContents<Expression>& paren_contents)
SourceLocation loc, const ParenContents<Expression>& paren_contents)
-> const Expression* {
std::optional<const Expression*> single_term = paren_contents.SingleTerm();
if (single_term.has_value()) {
return *single_term;
} else {
return TupleExpressionFromParenContents(line_num, paren_contents);
return TupleExpressionFromParenContents(loc, paren_contents);
}
}
auto TupleExpressionFromParenContents(
int line_num, const ParenContents<Expression>& paren_contents)
SourceLocation loc, const ParenContents<Expression>& paren_contents)
-> const Expression* {
return global_arena->RawNew<TupleLiteral>(
line_num, paren_contents.TupleElements<FieldInitializer>(line_num));
loc, paren_contents.TupleElements<FieldInitializer>(loc));
}
static void PrintOp(llvm::raw_ostream& out, Operator op) {