Add helper to create StructMember nodes.

This CL updates the ast::Builder to provide help creating struct members
and decorations. The helpers are then used throughout the various files
to simplify the code.

Change-Id: I53af4578190499d9ae2623073f8a44182954e5d9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35821
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
diff --git a/src/writer/msl/generator_impl_import_test.cc b/src/writer/msl/generator_impl_import_test.cc
index e2b5c37..c27ee73 100644
--- a/src/writer/msl/generator_impl_import_test.cc
+++ b/src/writer/msl/generator_impl_import_test.cc
@@ -58,7 +58,7 @@
       Source{}, create<ast::FloatLiteral>(Source{}, &f32, 1.f)));
 
   auto* ident = create<ast::IdentifierExpression>(
-      Source{}, mod.RegisterSymbol(param.name), param.name);
+      Source{}, mod->RegisterSymbol(param.name), param.name);
 
   ast::CallExpression call(Source{}, ident, params);
 
@@ -103,7 +103,7 @@
 
   ast::CallExpression expr(Source{},
                            create<ast::IdentifierExpression>(
-                               Source{}, mod.RegisterSymbol("abs"), "abs"),
+                               Source{}, mod->RegisterSymbol("abs"), "abs"),
                            params);
 
   ASSERT_TRUE(td.DetermineResultType(&expr)) << td.error();
@@ -127,7 +127,7 @@
   ast::CallExpression expr(
       Source{},
       create<ast::IdentifierExpression>(
-          Source{}, mod.RegisterSymbol(param.name), param.name),
+          Source{}, mod->RegisterSymbol(param.name), param.name),
       params);
 
   ASSERT_TRUE(td.DetermineResultType(&expr)) << td.error();
@@ -180,7 +180,7 @@
   ast::CallExpression expr(
       Source{},
       create<ast::IdentifierExpression>(
-          Source{}, mod.RegisterSymbol(param.name), param.name),
+          Source{}, mod->RegisterSymbol(param.name), param.name),
       params);
 
   ASSERT_TRUE(td.DetermineResultType(&expr)) << td.error();
@@ -208,7 +208,7 @@
   ast::CallExpression expr(
       Source{},
       create<ast::IdentifierExpression>(
-          Source{}, mod.RegisterSymbol(param.name), param.name),
+          Source{}, mod->RegisterSymbol(param.name), param.name),
       params);
 
   ASSERT_TRUE(td.DetermineResultType(&expr)) << td.error();
@@ -237,7 +237,7 @@
   ast::CallExpression expr(
       Source{},
       create<ast::IdentifierExpression>(
-          Source{}, mod.RegisterSymbol(param.name), param.name),
+          Source{}, mod->RegisterSymbol(param.name), param.name),
       params);
 
   ASSERT_TRUE(td.DetermineResultType(&expr)) << td.error();
@@ -271,7 +271,7 @@
   ast::CallExpression expr(
       Source{},
       create<ast::IdentifierExpression>(
-          Source{}, mod.RegisterSymbol(param.name), param.name),
+          Source{}, mod->RegisterSymbol(param.name), param.name),
       params);
 
   ASSERT_TRUE(td.DetermineResultType(&expr)) << td.error();
@@ -299,15 +299,15 @@
 
   ast::ExpressionList params;
   params.push_back(create<ast::IdentifierExpression>(
-      Source{}, mod.RegisterSymbol("var"), "var"));
+      Source{}, mod->RegisterSymbol("var"), "var"));
 
   ast::CallExpression expr(
       Source{},
       create<ast::IdentifierExpression>(
-          Source{}, mod.RegisterSymbol("determinant"), "determinant"),
+          Source{}, mod->RegisterSymbol("determinant"), "determinant"),
       params);
 
-  mod.AddGlobalVariable(var);
+  mod->AddGlobalVariable(var);
 
   // Register the global
   ASSERT_TRUE(td.Determine()) << td.error();