Rename VariableStatement to VariableDeclStatement.

This CL renames VariableStatement to VariableDeclStatement to make it
clearer what it was modeling.

Bug: tint:25
Change-Id: Idd0d27fad7cc402f286e1abad74092c9d1961d91
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/18341
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index dc4328e..2c45704 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -179,8 +179,8 @@
   ast/variable.h
   ast/variable_decoration.cc
   ast/variable_decoration.h
-  ast/variable_statement.cc
-  ast/variable_statement.h
+  ast/variable_decl_statement.cc
+  ast/variable_decl_statement.h
   context.h
   context.cc
   reader/reader.cc
@@ -302,7 +302,7 @@
   ast/unary_method_expression_test.cc
   ast/unary_op_expression_test.cc
   ast/unless_statement_test.cc
-  ast/variable_statement_test.cc
+  ast/variable_decl_statement_test.cc
   ast/variable_test.cc
   type_manager_test.cc
   validator_impl_import_test.cc
@@ -458,7 +458,7 @@
     writer/wgsl/generator_impl_unary_method_test.cc
     writer/wgsl/generator_impl_unary_op_test.cc
     writer/wgsl/generator_impl_unless_test.cc
-    writer/wgsl/generator_impl_variable_statement_test.cc
+    writer/wgsl/generator_impl_variable_decl_statement_test.cc
     writer/wgsl/generator_impl_variable_test.cc
   )
 endif()
diff --git a/src/ast/statement.cc b/src/ast/statement.cc
index 07a1f09..1e2fa73 100644
--- a/src/ast/statement.cc
+++ b/src/ast/statement.cc
@@ -30,7 +30,7 @@
 #include "src/ast/return_statement.h"
 #include "src/ast/switch_statement.h"
 #include "src/ast/unless_statement.h"
-#include "src/ast/variable_statement.h"
+#include "src/ast/variable_decl_statement.h"
 
 namespace tint {
 namespace ast {
@@ -111,9 +111,9 @@
   return static_cast<UnlessStatement*>(this);
 }
 
-VariableStatement* Statement::AsVariable() {
-  assert(IsVariable());
-  return static_cast<VariableStatement*>(this);
+VariableDeclStatement* Statement::AsVariableDecl() {
+  assert(IsVariableDecl());
+  return static_cast<VariableDeclStatement*>(this);
 }
 
 }  // namespace ast
diff --git a/src/ast/statement.h b/src/ast/statement.h
index 112f580..d14ee31 100644
--- a/src/ast/statement.h
+++ b/src/ast/statement.h
@@ -34,7 +34,7 @@
 class ReturnStatement;
 class SwitchStatement;
 class UnlessStatement;
-class VariableStatement;
+class VariableDeclStatement;
 
 /// Base statement class
 class Statement : public Node {
@@ -70,7 +70,7 @@
   /// @returns true if this is an unless statement
   virtual bool IsUnless() const { return false; }
   /// @returns true if this is an variable statement
-  virtual bool IsVariable() const { return false; }
+  virtual bool IsVariableDecl() const { return false; }
 
   /// @returns the statement as an assign statement
   AssignmentStatement* AsAssign();
@@ -101,7 +101,7 @@
   /// @returns the statement as an unless statement
   UnlessStatement* AsUnless();
   /// @returns the statement as an variable statement
-  VariableStatement* AsVariable();
+  VariableDeclStatement* AsVariableDecl();
 
  protected:
   /// Constructor
diff --git a/src/ast/variable.h b/src/ast/variable.h
index 5a6c382..82148f5 100644
--- a/src/ast/variable.h
+++ b/src/ast/variable.h
@@ -30,7 +30,7 @@
 
 class DecoratedVariable;
 
-/// A Variable statement.
+/// A variable.
 class Variable : public Node {
  public:
   /// Create a new empty variable statement
diff --git a/src/ast/variable_statement.cc b/src/ast/variable_decl_statement.cc
similarity index 63%
rename from src/ast/variable_statement.cc
rename to src/ast/variable_decl_statement.cc
index ec88f5c..d8f8a84 100644
--- a/src/ast/variable_statement.cc
+++ b/src/ast/variable_decl_statement.cc
@@ -12,29 +12,29 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "src/ast/variable_statement.h"
+#include "src/ast/variable_decl_statement.h"
 
 namespace tint {
 namespace ast {
 
-VariableStatement::VariableStatement() : Statement() {}
+VariableDeclStatement::VariableDeclStatement() : Statement() {}
 
-VariableStatement::VariableStatement(std::unique_ptr<Variable> variable)
+VariableDeclStatement::VariableDeclStatement(std::unique_ptr<Variable> variable)
     : Statement(), variable_(std::move(variable)) {}
 
-VariableStatement::VariableStatement(const Source& source,
-                                     std::unique_ptr<Variable> variable)
+VariableDeclStatement::VariableDeclStatement(const Source& source,
+                                             std::unique_ptr<Variable> variable)
     : Statement(source), variable_(std::move(variable)) {}
 
-VariableStatement::~VariableStatement() = default;
+VariableDeclStatement::~VariableDeclStatement() = default;
 
-bool VariableStatement::IsValid() const {
+bool VariableDeclStatement::IsValid() const {
   return variable_ != nullptr && variable_->IsValid();
 }
 
-void VariableStatement::to_str(std::ostream& out, size_t indent) const {
+void VariableDeclStatement::to_str(std::ostream& out, size_t indent) const {
   make_indent(out, indent);
-  out << "VariableStatement{" << std::endl;
+  out << "VariableDeclStatement{" << std::endl;
   variable_->to_str(out, indent + 2);
   make_indent(out, indent);
   out << "}" << std::endl;
diff --git a/src/ast/variable_statement.h b/src/ast/variable_decl_statement.h
similarity index 72%
rename from src/ast/variable_statement.h
rename to src/ast/variable_decl_statement.h
index 51d2b6e..cb66061 100644
--- a/src/ast/variable_statement.h
+++ b/src/ast/variable_decl_statement.h
@@ -12,8 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#ifndef SRC_AST_VARIABLE_STATEMENT_H_
-#define SRC_AST_VARIABLE_STATEMENT_H_
+#ifndef SRC_AST_VARIABLE_DECL_STATEMENT_H_
+#define SRC_AST_VARIABLE_DECL_STATEMENT_H_
 
 #include <memory>
 #include <utility>
@@ -25,21 +25,22 @@
 namespace tint {
 namespace ast {
 
-/// A variable statement
-class VariableStatement : public Statement {
+/// A variable declaration statement
+class VariableDeclStatement : public Statement {
  public:
   /// Constructor
-  VariableStatement();
+  VariableDeclStatement();
   /// Constructor
   /// @param variable the variable
-  explicit VariableStatement(std::unique_ptr<Variable> variable);
+  explicit VariableDeclStatement(std::unique_ptr<Variable> variable);
   /// Constructor
   /// @param source the variable statement source
   /// @param variable the variable
-  VariableStatement(const Source& source, std::unique_ptr<Variable> variable);
+  VariableDeclStatement(const Source& source,
+                        std::unique_ptr<Variable> variable);
   /// Move constructor
-  VariableStatement(VariableStatement&&) = default;
-  ~VariableStatement() override;
+  VariableDeclStatement(VariableDeclStatement&&) = default;
+  ~VariableDeclStatement() override;
 
   /// Sets the variable
   /// @param variable the variable to set
@@ -50,7 +51,7 @@
   Variable* variable() const { return variable_.get(); }
 
   /// @returns true if this is an variable statement
-  bool IsVariable() const override { return true; }
+  bool IsVariableDecl() const override { return true; }
 
   /// @returns true if the node is valid
   bool IsValid() const override;
@@ -61,7 +62,7 @@
   void to_str(std::ostream& out, size_t indent) const override;
 
  private:
-  VariableStatement(const VariableStatement&) = delete;
+  VariableDeclStatement(const VariableDeclStatement&) = delete;
 
   std::unique_ptr<Variable> variable_;
 };
@@ -69,4 +70,4 @@
 }  // namespace ast
 }  // namespace tint
 
-#endif  // SRC_AST_VARIABLE_STATEMENT_H_
+#endif  // SRC_AST_VARIABLE_DECL_STATEMENT_H_
diff --git a/src/ast/variable_statement_test.cc b/src/ast/variable_decl_statement_test.cc
similarity index 65%
rename from src/ast/variable_statement_test.cc
rename to src/ast/variable_decl_statement_test.cc
index 5bc0eb7..84149c1 100644
--- a/src/ast/variable_statement_test.cc
+++ b/src/ast/variable_decl_statement_test.cc
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-#include "src/ast/variable_statement.h"
+#include "src/ast/variable_decl_statement.h"
 
 #include "gtest/gtest.h"
 #include "src/ast/type/f32_type.h"
@@ -22,59 +22,59 @@
 namespace ast {
 namespace {
 
-using VariableStatementTest = testing::Test;
+using VariableDeclStatementTest = testing::Test;
 
-TEST_F(VariableStatementTest, Creation) {
+TEST_F(VariableDeclStatementTest, Creation) {
   type::F32Type f32;
   auto var = std::make_unique<Variable>("a", StorageClass::kNone, &f32);
   auto var_ptr = var.get();
 
-  VariableStatement stmt(std::move(var));
+  VariableDeclStatement stmt(std::move(var));
   EXPECT_EQ(stmt.variable(), var_ptr);
 }
 
-TEST_F(VariableStatementTest, Creation_WithSource) {
+TEST_F(VariableDeclStatementTest, Creation_WithSource) {
   type::F32Type f32;
   auto var = std::make_unique<Variable>("a", StorageClass::kNone, &f32);
 
-  VariableStatement stmt(Source{20, 2}, std::move(var));
+  VariableDeclStatement stmt(Source{20, 2}, std::move(var));
   auto src = stmt.source();
   EXPECT_EQ(src.line, 20);
   EXPECT_EQ(src.column, 2);
 }
 
-TEST_F(VariableStatementTest, IsVariable) {
-  VariableStatement s;
-  EXPECT_TRUE(s.IsVariable());
+TEST_F(VariableDeclStatementTest, IsVariableDecl) {
+  VariableDeclStatement s;
+  EXPECT_TRUE(s.IsVariableDecl());
 }
 
-TEST_F(VariableStatementTest, IsValid) {
+TEST_F(VariableDeclStatementTest, IsValid) {
   type::F32Type f32;
   auto var = std::make_unique<Variable>("a", StorageClass::kNone, &f32);
-  VariableStatement stmt(std::move(var));
+  VariableDeclStatement stmt(std::move(var));
   EXPECT_TRUE(stmt.IsValid());
 }
 
-TEST_F(VariableStatementTest, IsValid_InvalidVariable) {
+TEST_F(VariableDeclStatementTest, IsValid_InvalidVariable) {
   type::F32Type f32;
   auto var = std::make_unique<Variable>("", StorageClass::kNone, &f32);
-  VariableStatement stmt(std::move(var));
+  VariableDeclStatement stmt(std::move(var));
   EXPECT_FALSE(stmt.IsValid());
 }
 
-TEST_F(VariableStatementTest, IsValid_NullVariable) {
-  VariableStatement stmt;
+TEST_F(VariableDeclStatementTest, IsValid_NullVariable) {
+  VariableDeclStatement stmt;
   EXPECT_FALSE(stmt.IsValid());
 }
 
-TEST_F(VariableStatementTest, ToStr) {
+TEST_F(VariableDeclStatementTest, ToStr) {
   type::F32Type f32;
   auto var = std::make_unique<Variable>("a", StorageClass::kNone, &f32);
 
-  VariableStatement stmt(Source{20, 2}, std::move(var));
+  VariableDeclStatement stmt(Source{20, 2}, std::move(var));
   std::ostringstream out;
   stmt.to_str(out, 2);
-  EXPECT_EQ(out.str(), R"(  VariableStatement{
+  EXPECT_EQ(out.str(), R"(  VariableDeclStatement{
     Variable{
       a
       none
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index ad795bb..61aeeab 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -63,7 +63,7 @@
 #include "src/ast/unary_method_expression.h"
 #include "src/ast/unary_op.h"
 #include "src/ast/unary_op_expression.h"
-#include "src/ast/variable_statement.h"
+#include "src/ast/variable_decl_statement.h"
 #include "src/reader/wgsl/lexer.h"
 #include "src/type_manager.h"
 
@@ -1667,7 +1667,7 @@
 //   : variable_decl
 //   | variable_decl EQUAL logical_or_expression
 //   | CONST variable_ident_decl EQUAL logical_or_expression
-std::unique_ptr<ast::VariableStatement> ParserImpl::variable_stmt() {
+std::unique_ptr<ast::VariableDeclStatement> ParserImpl::variable_stmt() {
   auto t = peek();
   auto source = t.source();
   if (t.IsConst()) {
@@ -1702,7 +1702,7 @@
     var->set_is_const(true);
     var->set_constructor(std::move(constructor));
 
-    return std::make_unique<ast::VariableStatement>(source, std::move(var));
+    return std::make_unique<ast::VariableDeclStatement>(source, std::move(var));
   }
 
   auto var = variable_decl();
@@ -1724,7 +1724,7 @@
     var->set_constructor(std::move(constructor));
   }
 
-  return std::make_unique<ast::VariableStatement>(source, std::move(var));
+  return std::make_unique<ast::VariableDeclStatement>(source, std::move(var));
 }
 
 // if_stmt
diff --git a/src/reader/wgsl/parser_impl.h b/src/reader/wgsl/parser_impl.h
index 22bfb7e..ad39e3d 100644
--- a/src/reader/wgsl/parser_impl.h
+++ b/src/reader/wgsl/parser_impl.h
@@ -201,7 +201,7 @@
   std::unique_ptr<ast::ContinueStatement> continue_stmt();
   /// Parses a `variable_stmt` grammar element
   /// @returns the parsed variable or nullptr
-  std::unique_ptr<ast::VariableStatement> variable_stmt();
+  std::unique_ptr<ast::VariableDeclStatement> variable_stmt();
   /// Parses a `if_stmt` grammar element
   /// @returns the parsed statement or nullptr
   std::unique_ptr<ast::IfStatement> if_stmt();
diff --git a/src/reader/wgsl/parser_impl_case_body_test.cc b/src/reader/wgsl/parser_impl_case_body_test.cc
index 98a9a91..d02a599 100644
--- a/src/reader/wgsl/parser_impl_case_body_test.cc
+++ b/src/reader/wgsl/parser_impl_case_body_test.cc
@@ -36,7 +36,7 @@
   auto e = p->case_body();
   ASSERT_FALSE(p->has_error()) << p->error();
   ASSERT_EQ(e.size(), 2);
-  EXPECT_TRUE(e[0]->IsVariable());
+  EXPECT_TRUE(e[0]->IsVariableDecl());
   EXPECT_TRUE(e[1]->IsAssign());
 }
 
diff --git a/src/reader/wgsl/parser_impl_statement_test.cc b/src/reader/wgsl/parser_impl_statement_test.cc
index 51082cc..bc047f3 100644
--- a/src/reader/wgsl/parser_impl_statement_test.cc
+++ b/src/reader/wgsl/parser_impl_statement_test.cc
@@ -130,7 +130,7 @@
   auto e = p->statement();
   ASSERT_FALSE(p->has_error()) << p->error();
   ASSERT_NE(e, nullptr);
-  ASSERT_TRUE(e->IsVariable());
+  ASSERT_TRUE(e->IsVariableDecl());
 }
 
 TEST_F(ParserImplTest, Statement_Variable_Invalid) {
diff --git a/src/reader/wgsl/parser_impl_variable_stmt_test.cc b/src/reader/wgsl/parser_impl_variable_stmt_test.cc
index 8777380..78b7685 100644
--- a/src/reader/wgsl/parser_impl_variable_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_variable_stmt_test.cc
@@ -14,7 +14,7 @@
 
 #include "gtest/gtest.h"
 #include "src/ast/statement.h"
-#include "src/ast/variable_statement.h"
+#include "src/ast/variable_decl_statement.h"
 #include "src/reader/wgsl/parser_impl.h"
 #include "src/reader/wgsl/parser_impl_test_helper.h"
 
@@ -28,7 +28,7 @@
   auto e = p->variable_stmt();
   ASSERT_FALSE(p->has_error()) << p->error();
   ASSERT_NE(e, nullptr);
-  ASSERT_TRUE(e->IsVariable());
+  ASSERT_TRUE(e->IsVariableDecl());
   ASSERT_NE(e->variable(), nullptr);
   EXPECT_EQ(e->variable()->name(), "a");
 
@@ -40,7 +40,7 @@
   auto e = p->variable_stmt();
   ASSERT_FALSE(p->has_error()) << p->error();
   ASSERT_NE(e, nullptr);
-  ASSERT_TRUE(e->IsVariable());
+  ASSERT_TRUE(e->IsVariableDecl());
   ASSERT_NE(e->variable(), nullptr);
   EXPECT_EQ(e->variable()->name(), "a");
 
@@ -69,7 +69,7 @@
   auto e = p->variable_stmt();
   ASSERT_FALSE(p->has_error()) << p->error();
   ASSERT_NE(e, nullptr);
-  ASSERT_TRUE(e->IsVariable());
+  ASSERT_TRUE(e->IsVariableDecl());
 }
 
 TEST_F(ParserImplTest, VariableStmt_Const_InvalidVarIdent) {
diff --git a/src/writer/wgsl/generator_impl.cc b/src/writer/wgsl/generator_impl.cc
index d7bbf89..edc12bb 100644
--- a/src/writer/wgsl/generator_impl.cc
+++ b/src/writer/wgsl/generator_impl.cc
@@ -59,7 +59,7 @@
 #include "src/ast/unary_method_expression.h"
 #include "src/ast/unary_op_expression.h"
 #include "src/ast/unless_statement.h"
-#include "src/ast/variable_statement.h"
+#include "src/ast/variable_decl_statement.h"
 
 namespace tint {
 namespace writer {
@@ -752,8 +752,8 @@
   if (stmt->IsSwitch()) {
     return EmitSwitch(stmt->AsSwitch());
   }
-  if (stmt->IsVariable()) {
-    return EmitVariable(stmt->AsVariable()->variable());
+  if (stmt->IsVariableDecl()) {
+    return EmitVariable(stmt->AsVariableDecl()->variable());
   }
   if (stmt->IsUnless()) {
     return EmitUnless(stmt->AsUnless());
diff --git a/src/writer/wgsl/generator_impl_variable_statement_test.cc b/src/writer/wgsl/generator_impl_variable_decl_statement_test.cc
similarity index 88%
rename from src/writer/wgsl/generator_impl_variable_statement_test.cc
rename to src/writer/wgsl/generator_impl_variable_decl_statement_test.cc
index 13fdf97..f1797df 100644
--- a/src/writer/wgsl/generator_impl_variable_statement_test.cc
+++ b/src/writer/wgsl/generator_impl_variable_decl_statement_test.cc
@@ -18,7 +18,7 @@
 #include "gtest/gtest.h"
 #include "src/ast/type/f32_type.h"
 #include "src/ast/variable.h"
-#include "src/ast/variable_statement.h"
+#include "src/ast/variable_decl_statement.h"
 #include "src/writer/wgsl/generator_impl.h"
 
 namespace tint {
@@ -28,12 +28,12 @@
 
 using GeneratorImplTest = testing::Test;
 
-TEST_F(GeneratorImplTest, Emit_VariableStatement) {
+TEST_F(GeneratorImplTest, Emit_VariableDeclStatement) {
   ast::type::F32Type f32;
   auto var =
       std::make_unique<ast::Variable>("a", ast::StorageClass::kNone, &f32);
 
-  ast::VariableStatement stmt(std::move(var));
+  ast::VariableDeclStatement stmt(std::move(var));
 
   GeneratorImpl g;
   g.increment_indent();