ast::Variable dumping now indicates is_const

If is_const is true, then dump VariableConst{...

For ast::DecoratedVariable, dump "DecoratedVariableConst{..."
when it's const.

Change-Id: I8383e5bc989e4ee20e3a5812f346d5f9a7990dbb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/30920
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/ast/decorated_variable.cc b/src/ast/decorated_variable.cc
index d9e5130..2b16b99 100644
--- a/src/ast/decorated_variable.cc
+++ b/src/ast/decorated_variable.cc
@@ -77,7 +77,11 @@
 
 void DecoratedVariable::to_str(std::ostream& out, size_t indent) const {
   make_indent(out, indent);
-  out << "DecoratedVariable{" << std::endl;
+  out << "DecoratedVariable";
+  if (is_const()) {
+    out << "Const";
+  }
+  out << "{" << std::endl;
 
   make_indent(out, indent + 2);
   out << "Decorations{" << std::endl;
diff --git a/src/ast/variable.cc b/src/ast/variable.cc
index 67447a5..408b6f4 100644
--- a/src/ast/variable.cc
+++ b/src/ast/variable.cc
@@ -87,7 +87,11 @@
 
 void Variable::to_str(std::ostream& out, size_t indent) const {
   make_indent(out, indent);
-  out << "Variable{" << std::endl;
+  out << "Variable";
+  if (is_const()) {
+    out << "Const";
+  }
+  out << "{" << std::endl;
   info_to_str(out, indent + 2);
   constructor_to_str(out, indent + 2);
   make_indent(out, indent);
diff --git a/src/reader/spirv/function_arithmetic_test.cc b/src/reader/spirv/function_arithmetic_test.cc
index 94632c2..bd86258 100644
--- a/src/reader/spirv/function_arithmetic_test.cc
+++ b/src/reader/spirv/function_arithmetic_test.cc
@@ -136,7 +136,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __i32
@@ -163,7 +163,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __i32
@@ -192,7 +192,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -221,7 +221,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -252,7 +252,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__i32
@@ -283,7 +283,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__i32
@@ -316,7 +316,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -349,7 +349,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -384,7 +384,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -411,7 +411,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__f32
@@ -467,7 +467,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   std::ostringstream ss;
-  ss << R"(Variable{
+  ss << R"(VariableConst{
     x_1
     none
     )"
@@ -691,7 +691,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -726,7 +726,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -835,7 +835,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -870,7 +870,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -922,7 +922,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __vec_2__f32
@@ -951,7 +951,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __mat_2_2__f32
@@ -980,7 +980,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __mat_2_2__f32
@@ -1009,7 +1009,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __mat_2_2__f32
@@ -1038,7 +1038,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __mat_2_2__f32
diff --git a/src/reader/spirv/function_bit_test.cc b/src/reader/spirv/function_bit_test.cc
index a68362b..636732f 100644
--- a/src/reader/spirv/function_bit_test.cc
+++ b/src/reader/spirv/function_bit_test.cc
@@ -156,7 +156,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   std::ostringstream ss;
-  ss << R"(Variable{
+  ss << R"(VariableConst{
     x_1
     none
     )"
@@ -389,7 +389,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __i32
@@ -416,7 +416,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __i32
@@ -445,7 +445,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -474,7 +474,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -501,7 +501,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__i32
@@ -532,7 +532,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__i32
@@ -565,7 +565,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -597,7 +597,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
diff --git a/src/reader/spirv/function_call_test.cc b/src/reader/spirv/function_call_test.cc
index c3581a5..4eb8288 100644
--- a/src/reader/spirv/function_call_test.cc
+++ b/src/reader/spirv/function_call_test.cc
@@ -92,7 +92,7 @@
     FunctionEmitter fe(p, *spirv_function(100));
     EXPECT_TRUE(fe.EmitBody());
     EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -155,7 +155,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -245,7 +245,7 @@
   ()
   {
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_1
         none
         __u32
diff --git a/src/reader/spirv/function_composite_test.cc b/src/reader/spirv/function_composite_test.cc
index 3264693..72b59bf 100644
--- a/src/reader/spirv/function_composite_test.cc
+++ b/src/reader/spirv/function_composite_test.cc
@@ -87,7 +87,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -101,7 +101,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __vec_2__i32
@@ -115,7 +115,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_3
     none
     __vec_2__f32
@@ -143,7 +143,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __mat_2_3__f32
@@ -184,7 +184,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __array__u32_5
@@ -215,7 +215,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __struct_S
@@ -250,7 +250,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -301,7 +301,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_2
     none
     __vec_2__f32
@@ -352,7 +352,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_2
     none
     __f32
@@ -386,7 +386,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -437,7 +437,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_2
     none
     __i32
@@ -479,7 +479,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -492,7 +492,7 @@
   })"))
       << ToString(fe.ast_body());
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_4
     none
     __u32
@@ -545,7 +545,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_2
     none
     __f32
@@ -584,7 +584,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -594,7 +594,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -622,7 +622,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __ptr_function__u32
@@ -632,7 +632,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __ptr_function__u32
@@ -661,7 +661,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __vec_4__u32
@@ -703,7 +703,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __vec_4__u32
@@ -762,7 +762,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions()) << assembly;
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_10
     none
     __vec_2__u32
diff --git a/src/reader/spirv/function_conversion_test.cc b/src/reader/spirv/function_conversion_test.cc
index 24a6a7a..11da1cd 100644
--- a/src/reader/spirv/function_conversion_test.cc
+++ b/src/reader/spirv/function_conversion_test.cc
@@ -83,7 +83,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -109,7 +109,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__f32
@@ -238,7 +238,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __f32
@@ -265,7 +265,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __f32
@@ -294,7 +294,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__f32
@@ -321,7 +321,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__f32
@@ -383,7 +383,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __f32
@@ -412,7 +412,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __f32
@@ -439,7 +439,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__f32
@@ -468,7 +468,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__f32
@@ -529,7 +529,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __i32
@@ -556,7 +556,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __u32
@@ -585,7 +585,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__i32
@@ -612,7 +612,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__u32
@@ -675,7 +675,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __i32
@@ -704,7 +704,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __u32
@@ -731,7 +731,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__i32
@@ -760,7 +760,7 @@
   ASSERT_TRUE(p->BuildAndParseInternalModuleExceptFunctions());
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
-  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(Variable{
+  EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableConst{
     x_1
     none
     __vec_2__u32
diff --git a/src/reader/spirv/function_glsl_std_450_test.cc b/src/reader/spirv/function_glsl_std_450_test.cc
index 0f38e75..11c2cb6 100644
--- a/src/reader/spirv/function_glsl_std_450_test.cc
+++ b/src/reader/spirv/function_glsl_std_450_test.cc
@@ -101,7 +101,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -131,7 +131,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -165,7 +165,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -196,7 +196,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -235,7 +235,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -265,7 +265,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__f32
@@ -299,7 +299,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -330,7 +330,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__f32
@@ -369,7 +369,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -402,7 +402,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__f32
diff --git a/src/reader/spirv/function_logical_test.cc b/src/reader/spirv/function_logical_test.cc
index 6e1c336..cb7572e 100644
--- a/src/reader/spirv/function_logical_test.cc
+++ b/src/reader/spirv/function_logical_test.cc
@@ -207,7 +207,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -234,7 +234,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__bool
@@ -289,7 +289,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   std::ostringstream ss;
-  ss << R"(Variable{
+  ss << R"(VariableConst{
     x_1
     none
     )"
@@ -697,7 +697,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -728,7 +728,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -767,7 +767,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -798,7 +798,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -837,7 +837,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -868,7 +868,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -907,7 +907,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -938,7 +938,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -977,7 +977,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1008,7 +1008,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1047,7 +1047,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1078,7 +1078,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1117,7 +1117,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1148,7 +1148,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -1179,7 +1179,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __f32
@@ -1210,7 +1210,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -1249,7 +1249,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__u32
@@ -1294,7 +1294,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1327,7 +1327,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1360,7 +1360,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1389,7 +1389,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__bool
@@ -1422,7 +1422,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __bool
@@ -1451,7 +1451,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __vec_2__bool
diff --git a/src/reader/spirv/function_memory_test.cc b/src/reader/spirv/function_memory_test.cc
index 5848192..984ee84 100644
--- a/src/reader/spirv/function_memory_test.cc
+++ b/src/reader/spirv/function_memory_test.cc
@@ -168,7 +168,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(
-  Variable{
+  VariableConst{
     x_2
     none
     __bool
@@ -197,7 +197,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -207,7 +207,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_3
     none
     __u32
@@ -238,7 +238,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -905,7 +905,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __ptr_storage_buffer__u32
diff --git a/src/reader/spirv/function_misc_test.cc b/src/reader/spirv/function_misc_test.cc
index 67ce600..9d87310 100644
--- a/src/reader/spirv/function_misc_test.cc
+++ b/src/reader/spirv/function_misc_test.cc
@@ -68,7 +68,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_11
     none
     __bool
@@ -78,7 +78,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_12
     none
     __u32
@@ -88,7 +88,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_13
     none
     __i32
@@ -98,7 +98,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_14
     none
     __f32
@@ -128,7 +128,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_11
     none
     __vec_2__u32
@@ -142,7 +142,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_12
     none
     __vec_2__i32
@@ -156,7 +156,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_13
     none
     __vec_2__f32
@@ -188,7 +188,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_11
     none
     __mat_2_2__f32
@@ -229,7 +229,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_11
     none
     __array__u32_2
@@ -261,7 +261,7 @@
   FunctionEmitter fe(p, *spirv_function(100));
   EXPECT_TRUE(fe.EmitBody()) << p->error();
   EXPECT_THAT(ToString(fe.ast_body()), HasSubstr(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_11
     none
     __struct_S
diff --git a/src/reader/spirv/function_var_test.cc b/src/reader/spirv/function_var_test.cc
index 95791d2..f7a164d 100644
--- a/src/reader/spirv/function_var_test.cc
+++ b/src/reader/spirv/function_var_test.cc
@@ -695,7 +695,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -765,7 +765,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -971,7 +971,7 @@
   // We don't hoist x_1 into its own mutable variable. It is emitted as
   // a const definition.
   EXPECT_THAT(ToString(fe.ast_body()), Eq(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -988,7 +988,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_3
     none
     __u32
@@ -1059,7 +1059,7 @@
   )
   {
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_1
         none
         __u32
@@ -1076,7 +1076,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_3
         none
         __u32
@@ -1144,7 +1144,7 @@
   )
   {
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_1
         none
         __u32
@@ -1163,7 +1163,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_3
         none
         __u32
@@ -1220,7 +1220,7 @@
   // We don't hoist x_1 into its own mutable variable. It is emitted as
   // a const definition.
   EXPECT_THAT(ToString(fe.ast_body()), Eq(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_1
     none
     __u32
@@ -1230,7 +1230,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_2
     none
     __u32
@@ -1307,7 +1307,7 @@
     }
   }
   VariableDeclStatement{
-    Variable{
+    VariableConst{
       x_101
       none
       __bool
@@ -1317,7 +1317,7 @@
     }
   }
   VariableDeclStatement{
-    Variable{
+    VariableConst{
       x_102
       none
       __bool
@@ -1344,7 +1344,7 @@
   }
   Loop{
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_2
         none
         __u32
@@ -1354,7 +1354,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_3
         none
         __u32
@@ -1449,7 +1449,7 @@
     }
   }
   VariableDeclStatement{
-    Variable{
+    VariableConst{
       x_101
       none
       __bool
@@ -1459,7 +1459,7 @@
     }
   }
   VariableDeclStatement{
-    Variable{
+    VariableConst{
       x_102
       none
       __bool
@@ -1493,7 +1493,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_2
         none
         __u32
@@ -1503,7 +1503,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_3
         none
         __u32
@@ -1590,7 +1590,7 @@
   EXPECT_TRUE(fe.EmitBody()) << p->error();
 
   EXPECT_THAT(ToString(fe.ast_body()), Eq(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_101
     none
     __bool
@@ -1631,7 +1631,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_2
         none
         __u32
@@ -1641,7 +1641,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_5
         none
         __u32
@@ -1651,7 +1651,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_4
         none
         __u32
@@ -1665,7 +1665,7 @@
       }
     }
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_6
         none
         __u32
@@ -1758,7 +1758,7 @@
   EXPECT_TRUE(fe.EmitBody()) << p->error();
 
   EXPECT_THAT(ToString(fe.ast_body()), Eq(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_101
     none
     __bool
@@ -1768,7 +1768,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_102
     none
     __bool
@@ -1815,7 +1815,7 @@
   }
   continuing {
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_2
         none
         __u32
@@ -1878,7 +1878,7 @@
   EXPECT_TRUE(fe.EmitBody()) << p->error();
 
   EXPECT_THAT(ToString(fe.ast_body()), Eq(R"(VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_101
     none
     __bool
@@ -1888,7 +1888,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_102
     none
     __bool
@@ -1930,7 +1930,7 @@
   }
   continuing {
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         x_2
         none
         __u32
@@ -1991,7 +1991,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_11
     none
     __bool
@@ -2005,7 +2005,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_12
     none
     __bool
@@ -2033,7 +2033,7 @@
   }
 }
 VariableDeclStatement{
-  Variable{
+  VariableConst{
     x_101
     none
     __bool
diff --git a/src/reader/spirv/parser_impl_function_decl_test.cc b/src/reader/spirv/parser_impl_function_decl_test.cc
index e840830..37af744 100644
--- a/src/reader/spirv/parser_impl_function_decl_test.cc
+++ b/src/reader/spirv/parser_impl_function_decl_test.cc
@@ -208,7 +208,7 @@
   ()
   {
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         leaf_result
         none
         __u32
@@ -231,7 +231,7 @@
   ()
   {
     VariableDeclStatement{
-      Variable{
+      VariableConst{
         branch_result
         none
         __u32