ast: Remove no-arg constructor for ast::ElseStatement
In a near-future change, AST nodes, such as ast::BlockStatement will no longer
be std::unique_ptrs, and will have to be constructed and owned by an external
class. This means AST nodes can no longer allocate default child nodes.
Bug: tint:322
Change-Id: I6173a63a243fdcbdd8a53c91010e2f628248298f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/32678
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/ast/else_statement.cc b/src/ast/else_statement.cc
index d181caa..f216144 100644
--- a/src/ast/else_statement.cc
+++ b/src/ast/else_statement.cc
@@ -17,9 +17,6 @@
namespace tint {
namespace ast {
-ElseStatement::ElseStatement()
- : Statement(), body_(std::make_unique<ast::BlockStatement>()) {}
-
ElseStatement::ElseStatement(std::unique_ptr<BlockStatement> body)
: Statement(), body_(std::move(body)) {}
diff --git a/src/ast/else_statement.h b/src/ast/else_statement.h
index c79ffb8..5fb3801 100644
--- a/src/ast/else_statement.h
+++ b/src/ast/else_statement.h
@@ -30,8 +30,6 @@
class ElseStatement : public Statement {
public:
/// Constructor
- ElseStatement();
- /// Constructor
/// @param body the else body
explicit ElseStatement(std::unique_ptr<BlockStatement> body);
/// Constructor
diff --git a/src/ast/else_statement_test.cc b/src/ast/else_statement_test.cc
index b8ae12a..826648e 100644
--- a/src/ast/else_statement_test.cc
+++ b/src/ast/else_statement_test.cc
@@ -51,7 +51,7 @@
}
TEST_F(ElseStatementTest, IsElse) {
- ElseStatement e;
+ ElseStatement e(create<BlockStatement>());
EXPECT_TRUE(e.IsElse());
}
@@ -64,12 +64,12 @@
}
TEST_F(ElseStatementTest, HasContition_NullCondition) {
- ElseStatement e;
+ ElseStatement e(create<BlockStatement>());
EXPECT_FALSE(e.HasCondition());
}
TEST_F(ElseStatementTest, IsValid) {
- ElseStatement e;
+ ElseStatement e(create<BlockStatement>());
EXPECT_TRUE(e.IsValid());
}
diff --git a/src/ast/if_statement_test.cc b/src/ast/if_statement_test.cc
index d63368b..20141ad 100644
--- a/src/ast/if_statement_test.cc
+++ b/src/ast/if_statement_test.cc
@@ -70,9 +70,9 @@
body->append(create<DiscardStatement>());
ElseStatementList else_stmts;
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
else_stmts[0]->set_condition(create<IdentifierExpression>("Ident"));
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
IfStatement stmt(std::move(cond), std::move(body));
stmt.set_else_statements(std::move(else_stmts));
@@ -122,9 +122,9 @@
body->append(create<DiscardStatement>());
ElseStatementList else_stmts;
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
else_stmts[0]->set_condition(create<IdentifierExpression>("Ident"));
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
else_stmts.push_back(nullptr);
IfStatement stmt(std::move(cond), std::move(body));
@@ -138,7 +138,7 @@
body->append(create<DiscardStatement>());
ElseStatementList else_stmts;
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
else_stmts[0]->set_condition(create<IdentifierExpression>(""));
IfStatement stmt(std::move(cond), std::move(body));
@@ -152,8 +152,8 @@
body->append(create<DiscardStatement>());
ElseStatementList else_stmts;
- else_stmts.push_back(create<ElseStatement>());
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
IfStatement stmt(std::move(cond), std::move(body));
stmt.set_else_statements(std::move(else_stmts));
@@ -166,8 +166,8 @@
body->append(create<DiscardStatement>());
ElseStatementList else_stmts;
- else_stmts.push_back(create<ElseStatement>());
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
else_stmts[1]->set_condition(create<IdentifierExpression>("ident"));
IfStatement stmt(std::move(cond), std::move(body));
@@ -208,10 +208,10 @@
else_body->append(create<DiscardStatement>());
ElseStatementList else_stmts;
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
else_stmts[0]->set_condition(create<IdentifierExpression>("ident"));
else_stmts[0]->set_body(std::move(else_if_body));
- else_stmts.push_back(create<ElseStatement>());
+ else_stmts.push_back(create<ElseStatement>(create<BlockStatement>()));
else_stmts[1]->set_body(std::move(else_body));
IfStatement stmt(std::move(cond), std::move(body));