ast: Make all non-semantic fields const

Annotate those that are set by the TypeDeterminer as "Semantic Info"

Bug: tint:396
Bug: tint:390
Change-Id: I0705c64e8e23d97a6430230728f82e64dd92efb7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35165
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/ast/identifier_expression.h b/src/ast/identifier_expression.h
index 40750da..b30c4cc 100644
--- a/src/ast/identifier_expression.h
+++ b/src/ast/identifier_expression.h
@@ -83,10 +83,11 @@
  private:
   IdentifierExpression(const IdentifierExpression&) = delete;
 
-  Intrinsic intrinsic_ = Intrinsic::kNone;
-  std::unique_ptr<intrinsic::Signature> intrinsic_sig_;
-  Symbol sym_;
-  std::string name_;
+  Symbol const sym_;
+  std::string const name_;
+
+  Intrinsic intrinsic_ = Intrinsic::kNone;               // Semantic info
+  std::unique_ptr<intrinsic::Signature> intrinsic_sig_;  // Semantic info
 };
 
 }  // namespace ast