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));