mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-03 13:55:53 +01:00
Revert to handling Expression by const pointer (#616)
This reverts the bulk of #606, #607, and #611, as well as parts of #588, #605, and #614.
This commit is contained in:
@@ -80,23 +80,25 @@ struct Statement {
|
||||
StatementKind tag;
|
||||
|
||||
// Constructors
|
||||
static auto MakeExpStmt(int line_num, Expression exp) -> const Statement*;
|
||||
static auto MakeAssign(int line_num, Expression lhs, Expression rhs)
|
||||
static auto MakeExpStmt(int line_num, const Expression* exp)
|
||||
-> const Statement*;
|
||||
static auto MakeVarDef(int line_num, Expression pat, Expression init)
|
||||
static auto MakeAssign(int line_num, const Expression* lhs,
|
||||
const Expression* rhs) -> const Statement*;
|
||||
static auto MakeVarDef(int line_num, const Expression* pat,
|
||||
const Expression* init) -> const Statement*;
|
||||
static auto MakeIf(int line_num, const Expression* cond,
|
||||
const Statement* then_stmt, const Statement* else_stmt)
|
||||
-> const Statement*;
|
||||
static auto MakeIf(int line_num, Expression cond, const Statement* then_stmt,
|
||||
const Statement* else_stmt) -> const Statement*;
|
||||
static auto MakeReturn(int line_num, Expression e) -> const Statement*;
|
||||
static auto MakeReturn(int line_num, const Expression* e) -> const Statement*;
|
||||
static auto MakeSeq(int line_num, const Statement* s1, const Statement* s2)
|
||||
-> const Statement*;
|
||||
static auto MakeBlock(int line_num, const Statement* s) -> const Statement*;
|
||||
static auto MakeWhile(int line_num, Expression cond, const Statement* body)
|
||||
-> const Statement*;
|
||||
static auto MakeWhile(int line_num, const Expression* cond,
|
||||
const Statement* body) -> const Statement*;
|
||||
static auto MakeBreak(int line_num) -> const Statement*;
|
||||
static auto MakeContinue(int line_num) -> const Statement*;
|
||||
static auto MakeMatch(
|
||||
int line_num, Expression exp,
|
||||
int line_num, const Expression* exp,
|
||||
std::list<std::pair<const Expression*, const Statement*>>* clauses)
|
||||
-> const Statement*;
|
||||
// Returns an AST node for a continuation statement give its line number and
|
||||
@@ -110,7 +112,8 @@ struct Statement {
|
||||
// Returns an AST node for a run statement give its line number and argument.
|
||||
//
|
||||
// __run <argument>;
|
||||
static auto MakeRun(int line_num, Expression argument) -> const Statement*;
|
||||
static auto MakeRun(int line_num, const Expression* argument)
|
||||
-> const Statement*;
|
||||
// Returns an AST node for an await statement give its line number.
|
||||
//
|
||||
// __await;
|
||||
|
||||
Reference in New Issue
Block a user