Ver Fonte

Shift Parser from 'Identifier' to 'Name' naming (#2947)

This PR renames parse nodes on a Name/NameExpression taxonomy. NameExpressions occur in a name context. The difference is that in non-expression contexts it's useful to return the identifier / string ID for adding to name lookup, whereas in expression contexts it's useful to return the resolved node ID for consistency with other expressions.

In the code, I do note SelfValueName is returned in the expression context: I'd expect this to change, as `self` in `[self: Self]` versus `self.Foo()` will probably be best handled similarly to the above. That means that, in the proposed taxonomy, both `SelfValueName` and `SelfValueNameExpression` will exist in order to assist semantics.

To contrast choices:

Original | Current | [zygoloid suggestion](https://discord.com/channels/655572317891461132/655578254970716160/1121581663399464970) | [This PR](https://discord.com/channels/655572317891461132/655578254970716160/1121814551789318215)
--- | --- | --- | ---
DeclaredName/DesignatedName | Identifier | NameComponent | Name
NameReference | NameReference | NameReference | NameExpression
SelfValueIdentifier | SelfValueIdentifier | SelfValueReference | SelfValueName
SelfTypeIdentifier | SelfTypeIdentiifer | SelfTypeReference | SelfTypeNameExpression
Jon Ross-Perkins há 2 anos atrás
pai
commit
b2084ea15d
100 ficheiros alterados com 418 adições e 419 exclusões
  1. 18 18
      toolchain/parser/parse_node_kind.def
  2. 2 3
      toolchain/parser/parse_tree_test.cpp
  3. 1 1
      toolchain/parser/parser_handle_declaration_name_and_params.cpp
  4. 3 3
      toolchain/parser/parser_handle_designator.cpp
  5. 4 4
      toolchain/parser/parser_handle_expression.cpp
  6. 1 1
      toolchain/parser/parser_handle_package.cpp
  7. 3 3
      toolchain/parser/parser_handle_pattern.cpp
  8. 3 3
      toolchain/parser/testdata/basics/builtin_types.carbon
  9. 7 7
      toolchain/parser/testdata/basics/fail_invalid_designators.carbon
  10. 2 2
      toolchain/parser/testdata/basics/fail_paren_match_regression.carbon
  11. 8 8
      toolchain/parser/testdata/basics/function_call.carbon
  12. 3 3
      toolchain/parser/testdata/basics/parens.carbon
  13. 2 2
      toolchain/parser/testdata/class/basic.carbon
  14. 9 9
      toolchain/parser/testdata/class/fn_definitions.carbon
  15. 2 2
      toolchain/parser/testdata/class/var.carbon
  16. 5 5
      toolchain/parser/testdata/for/fail_colon_instead_of_in.carbon
  17. 5 5
      toolchain/parser/testdata/for/fail_missing_in.carbon
  18. 4 4
      toolchain/parser/testdata/for/fail_missing_var.carbon
  19. 7 7
      toolchain/parser/testdata/for/nested.carbon
  20. 5 5
      toolchain/parser/testdata/for/simple.carbon
  21. 2 2
      toolchain/parser/testdata/function/declaration/addr.carbon
  22. 1 1
      toolchain/parser/testdata/function/declaration/basic.carbon
  23. 1 1
      toolchain/parser/testdata/function/declaration/deduced_empty.carbon
  24. 3 3
      toolchain/parser/testdata/function/declaration/deduced_params.carbon
  25. 1 1
      toolchain/parser/testdata/function/declaration/fail_identifier_instead_of_sig.carbon
  26. 2 2
      toolchain/parser/testdata/function/declaration/fail_missing_deduced_close.carbon
  27. 1 1
      toolchain/parser/testdata/function/declaration/fail_no_sig_or_semi.carbon
  28. 1 1
      toolchain/parser/testdata/function/declaration/fail_skip_indented_newline_until_outdent.carbon
  29. 1 1
      toolchain/parser/testdata/function/declaration/fail_skip_indented_newline_with_semi.carbon
  30. 1 1
      toolchain/parser/testdata/function/declaration/fail_skip_indented_newline_without_semi.carbon
  31. 1 1
      toolchain/parser/testdata/function/declaration/fail_skip_to_newline_without_semi.carbon
  32. 1 1
      toolchain/parser/testdata/function/declaration/fail_skip_without_semi_to_curly.carbon
  33. 2 2
      toolchain/parser/testdata/function/declaration/fail_with_identifier_as_param.carbon
  34. 3 3
      toolchain/parser/testdata/function/declaration/params.carbon
  35. 1 1
      toolchain/parser/testdata/function/declaration/with_return_type.carbon
  36. 1 1
      toolchain/parser/testdata/function/definition/basic.carbon
  37. 2 2
      toolchain/parser/testdata/function/definition/fail_identifier_in_statements.carbon
  38. 7 7
      toolchain/parser/testdata/function/definition/with_params.carbon
  39. 1 1
      toolchain/parser/testdata/function/definition/with_return_type.carbon
  40. 2 2
      toolchain/parser/testdata/generics/deduced_params/empty.carbon
  41. 6 6
      toolchain/parser/testdata/generics/deduced_params/fail_no_parens.carbon
  42. 4 4
      toolchain/parser/testdata/generics/deduced_params/one.carbon
  43. 4 4
      toolchain/parser/testdata/generics/deduced_params/one_suffix_comma.carbon
  44. 14 14
      toolchain/parser/testdata/generics/deduced_params/six.carbon
  45. 6 6
      toolchain/parser/testdata/generics/deduced_params/two.carbon
  46. 6 6
      toolchain/parser/testdata/generics/deduced_params/two_suffix_comma.carbon
  47. 2 2
      toolchain/parser/testdata/generics/generic_params/basic.carbon
  48. 2 2
      toolchain/parser/testdata/generics/generic_params/template.carbon
  49. 2 2
      toolchain/parser/testdata/generics/generic_params/template_addr.carbon
  50. 13 13
      toolchain/parser/testdata/generics/interface/basic.carbon
  51. 1 1
      toolchain/parser/testdata/generics/interface/declaration.carbon
  52. 1 1
      toolchain/parser/testdata/generics/interface/empty_body.carbon
  53. 2 2
      toolchain/parser/testdata/generics/interface/fail_missing_open_curly.carbon
  54. 7 7
      toolchain/parser/testdata/generics/interface/fail_no_impl_allowed.carbon
  55. 11 11
      toolchain/parser/testdata/generics/interface/fail_self_param_syntax.carbon
  56. 3 3
      toolchain/parser/testdata/generics/interface/non_instance_fn.carbon
  57. 13 13
      toolchain/parser/testdata/generics/interface/self_pointer.carbon
  58. 2 2
      toolchain/parser/testdata/generics/named_constraint/basic.carbon
  59. 7 7
      toolchain/parser/testdata/generics/named_constraint/fail_no_impl_allowed.carbon
  60. 2 2
      toolchain/parser/testdata/generics/params/empty.carbon
  61. 4 4
      toolchain/parser/testdata/generics/params/one.carbon
  62. 4 4
      toolchain/parser/testdata/generics/params/one_suffix_comma.carbon
  63. 14 14
      toolchain/parser/testdata/generics/params/six.carbon
  64. 6 6
      toolchain/parser/testdata/generics/params/two.carbon
  65. 6 6
      toolchain/parser/testdata/generics/params/two_suffix_comma.carbon
  66. 5 5
      toolchain/parser/testdata/if/basic.carbon
  67. 11 11
      toolchain/parser/testdata/if/else.carbon
  68. 11 11
      toolchain/parser/testdata/if/fail_else_unbraced.carbon
  69. 4 4
      toolchain/parser/testdata/if/fail_errors.carbon
  70. 5 5
      toolchain/parser/testdata/if/fail_unbraced.carbon
  71. 7 7
      toolchain/parser/testdata/if_expression/basic.carbon
  72. 2 2
      toolchain/parser/testdata/if_expression/fail_condition_missing.carbon
  73. 2 2
      toolchain/parser/testdata/if_expression/fail_else_expr_missing.carbon
  74. 2 2
      toolchain/parser/testdata/if_expression/fail_else_missing.carbon
  75. 2 2
      toolchain/parser/testdata/if_expression/fail_then_expr_missing.carbon
  76. 2 2
      toolchain/parser/testdata/if_expression/fail_then_missing.carbon
  77. 1 1
      toolchain/parser/testdata/if_expression/fail_top_level_if.carbon
  78. 8 8
      toolchain/parser/testdata/if_expression/precedence.carbon
  79. 4 4
      toolchain/parser/testdata/operators/associative.carbon
  80. 2 2
      toolchain/parser/testdata/operators/fail_infix_uneven_space_after.carbon
  81. 5 5
      toolchain/parser/testdata/operators/fail_invalid_infix.carbon
  82. 4 4
      toolchain/parser/testdata/operators/fail_precedence_and_or.carbon
  83. 4 4
      toolchain/parser/testdata/operators/fail_precedence_or_and.carbon
  84. 3 3
      toolchain/parser/testdata/operators/fail_precedence_star_minus.carbon
  85. 3 3
      toolchain/parser/testdata/operators/fail_precedence_star_star.carbon
  86. 2 2
      toolchain/parser/testdata/operators/fail_star_star_no_space.carbon
  87. 11 11
      toolchain/parser/testdata/operators/fail_variety.carbon
  88. 4 4
      toolchain/parser/testdata/operators/fixity_in_call.carbon
  89. 3 3
      toolchain/parser/testdata/operators/fixity_in_params.carbon
  90. 5 5
      toolchain/parser/testdata/operators/fixity_in_var.carbon
  91. 12 12
      toolchain/parser/testdata/operators/fixity_with_assign.carbon
  92. 3 3
      toolchain/parser/testdata/operators/infix.carbon
  93. 3 3
      toolchain/parser/testdata/operators/infix_no_space.carbon
  94. 2 2
      toolchain/parser/testdata/operators/infix_with_paren_after.carbon
  95. 2 2
      toolchain/parser/testdata/operators/infix_with_paren_before.carbon
  96. 2 2
      toolchain/parser/testdata/operators/postfix.carbon
  97. 2 2
      toolchain/parser/testdata/operators/postfix_repeat.carbon
  98. 2 2
      toolchain/parser/testdata/operators/postfix_space_after_op.carbon
  99. 4 4
      toolchain/parser/testdata/operators/precedence_not.carbon
  100. 3 3
      toolchain/parser/testdata/operators/prefix.carbon

+ 18 - 18
toolchain/parser/parse_node_kind.def

@@ -49,12 +49,15 @@ CARBON_PARSE_NODE_KIND_CHILD_COUNT(InvalidParse, 0)
 // An empty declaration, such as `;`.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(EmptyDeclaration, 0)
 
-// A name.
-CARBON_PARSE_NODE_KIND_CHILD_COUNT(Identifier, 0)
+// A name in a non-expression context, such as a declaration.
+CARBON_PARSE_NODE_KIND_CHILD_COUNT(Name, 0)
+
+// A name in an expression context.
+CARBON_PARSE_NODE_KIND_CHILD_COUNT(NameExpression, 0)
 
 // `package`:
 //   PackageIntroducer
-//   _external_: Identifier
+//   _external_: Name
 //     _external_: Literal
 //   PackageLibrary
 //   PackageApi or PackageImpl
@@ -74,7 +77,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(CodeBlock, CodeBlockStart)
 
 // `fn`:
 //     FunctionIntroducer
-//     Identifier
+//     Name
 //     _external_: ParameterList
 //       _external_: type expression
 //     ReturnType
@@ -106,7 +109,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(ParameterList, ParameterListStart)
 CARBON_PARSE_NODE_KIND_BRACKET(DeducedParameterList, DeducedParameterListStart)
 
 // A pattern binding, such as `name: Type`:
-//   Identifier
+//   Name
 //   _external_: type expression
 // [Generic]PatternBinding
 //
@@ -232,16 +235,13 @@ CARBON_PARSE_NODE_KIND_BRACKET(CallExpression, CallExpressionStart)
 
 // A designator expression, such as `a.b`:
 //   _external_: lhs expression
-//   _external_: Identifier
+//   _external_: Name
 // DesignatorExpression
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(DesignatorExpression, 2)
 
 // A literal.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(Literal, 0)
 
-// A reference to an identifier.
-CARBON_PARSE_NODE_KIND_CHILD_COUNT(NameReference, 0)
-
 // A prefix operator:
 //   _external_: expression
 // PrefixOperator
@@ -278,7 +278,7 @@ CARBON_PARSE_NODE_KIND_CHILD_COUNT(IfExpressionElse, 3)
 
 // Struct literals, such as `{.a = 0}`:
 //   StructLiteralOrStructTypeLiteralStart
-//       _external_: Identifier
+//       _external_: Name
 //     StructFieldDesignator
 //     _external_: expression
 //   StructFieldValue
@@ -286,7 +286,7 @@ CARBON_PARSE_NODE_KIND_CHILD_COUNT(IfExpressionElse, 3)
 // StructLiteral
 //
 // Struct type literals, such as `{.a: i32}`:
-//       _external_: Identifier
+//       _external_: Name
 //     StructFieldDesignator
 //     _external_: type expression
 //   StructFieldType
@@ -312,7 +312,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(StructTypeLiteral,
 
 // `class`:
 //     ClassIntroducer
-//     Identifier
+//     Name
 //   ClassDefinitionStart
 //   _external_: declarations
 // ClassDefinition
@@ -327,7 +327,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(ClassDeclaration, ClassIntroducer)
 
 // `interface`:
 //     InterfaceIntroducer
-//     Identifier
+//     Name
 //   InterfaceDefinitionStart
 //   _external_: declarations
 // InterfaceDefinition
@@ -342,7 +342,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(InterfaceDeclaration, InterfaceIntroducer)
 
 // `constraint`:
 //     NamedConstraintIntroducer
-//     Identifier
+//     Name
 //   NamedConstraintDefinitionStart
 //   _external_: declarations
 // NamedConstraintDefinition
@@ -360,11 +360,11 @@ CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDeclaration,
 
 // The `self` value and `Self` type identifier keywords. Typically of the form
 // `self: Self`:
-//   SelfValueIdentifier
-//   SelfTypeIdentifier
+//   SelfValueName
+//   SelfTypeNameExpression
 // PatternBinding
-CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfValueIdentifier, 0)
-CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfTypeIdentifier, 0)
+CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfValueName, 0)
+CARBON_PARSE_NODE_KIND_CHILD_COUNT(SelfTypeNameExpression, 0)
 
 #undef CARBON_PARSE_NODE_KIND
 #undef CARBON_PARSE_NODE_KIND_BRACKET

+ 2 - 3
toolchain/parser/parse_tree_test.cpp

@@ -57,7 +57,7 @@ TEST_F(ParseTreeTest, PrintPostorderAsYAML) {
 
   auto file = Yaml::SequenceValue{
       Yaml::MappingValue{{"kind", "FunctionIntroducer"}, {"text", "fn"}},
-      Yaml::MappingValue{{"kind", "Identifier"}, {"text", "F"}},
+      Yaml::MappingValue{{"kind", "Name"}, {"text", "F"}},
       Yaml::MappingValue{{"kind", "ParameterListStart"}, {"text", "("}},
       Yaml::MappingValue{
           {"kind", "ParameterList"}, {"text", ")"}, {"subtree_size", "2"}},
@@ -85,8 +85,7 @@ TEST_F(ParseTreeTest, PrintPreorderAsYAML) {
   auto function_decl = Yaml::SequenceValue{
       Yaml::MappingValue{
           {"node_index", "0"}, {"kind", "FunctionIntroducer"}, {"text", "fn"}},
-      Yaml::MappingValue{
-          {"node_index", "1"}, {"kind", "Identifier"}, {"text", "F"}},
+      Yaml::MappingValue{{"node_index", "1"}, {"kind", "Name"}, {"text", "F"}},
       Yaml::MappingValue{{"node_index", "3"},
                          {"kind", "ParameterList"},
                          {"text", ")"},

+ 1 - 1
toolchain/parser/parser_handle_declaration_name_and_params.cpp

@@ -12,7 +12,7 @@ static auto ParserHandleDeclarationNameAndParams(ParserContext& context,
   auto state = context.PopState();
 
   if (!context.ConsumeAndAddLeafNodeIf(TokenKind::Identifier,
-                                       ParseNodeKind::Identifier)) {
+                                       ParseNodeKind::Name)) {
     CARBON_DIAGNOSTIC(ExpectedDeclarationName, Error,
                       "`{0}` introducer should be followed by a name.",
                       TokenKind);

+ 3 - 3
toolchain/parser/parser_handle_designator.cpp

@@ -14,17 +14,17 @@ auto ParserHandleDesignator(ParserContext& context, bool as_struct) -> void {
   auto dot = context.ConsumeChecked(TokenKind::Period);
 
   if (!context.ConsumeAndAddLeafNodeIf(TokenKind::Identifier,
-                                       ParseNodeKind::Identifier)) {
+                                       ParseNodeKind::Name)) {
     CARBON_DIAGNOSTIC(ExpectedIdentifierAfterDot, Error,
                       "Expected identifier after `.`.");
     context.emitter().Emit(*context.position(), ExpectedIdentifierAfterDot);
     // If we see a keyword, assume it was intended to be the designated name.
     // TODO: Should keywords be valid in designators?
     if (context.PositionKind().is_keyword()) {
-      context.AddLeafNode(ParseNodeKind::Identifier, context.Consume(),
+      context.AddLeafNode(ParseNodeKind::Name, context.Consume(),
                           /*has_error=*/true);
     } else {
-      context.AddLeafNode(ParseNodeKind::Identifier, *context.position(),
+      context.AddLeafNode(ParseNodeKind::Name, *context.position(),
                           /*has_error=*/true);
       // Indicate the error to the parent state so that it can avoid producing
       // more errors.

+ 4 - 4
toolchain/parser/parser_handle_expression.cpp

@@ -57,7 +57,7 @@ auto ParserHandleExpressionInPostfix(ParserContext& context) -> void {
   // expression.
   switch (context.PositionKind()) {
     case TokenKind::Identifier: {
-      context.AddLeafNode(ParseNodeKind::NameReference, context.Consume());
+      context.AddLeafNode(ParseNodeKind::NameExpression, context.Consume());
       context.PushState(state);
       break;
     }
@@ -86,13 +86,13 @@ auto ParserHandleExpressionInPostfix(ParserContext& context) -> void {
       break;
     }
     case TokenKind::SelfValueIdentifier: {
-      context.AddLeafNode(ParseNodeKind::SelfValueIdentifier,
-                          context.Consume());
+      context.AddLeafNode(ParseNodeKind::SelfValueName, context.Consume());
       context.PushState(state);
       break;
     }
     case TokenKind::SelfTypeIdentifier: {
-      context.AddLeafNode(ParseNodeKind::SelfTypeIdentifier, context.Consume());
+      context.AddLeafNode(ParseNodeKind::SelfTypeNameExpression,
+                          context.Consume());
       context.PushState(state);
       break;
     }

+ 1 - 1
toolchain/parser/parser_handle_package.cpp

@@ -20,7 +20,7 @@ auto ParserHandlePackage(ParserContext& context) -> void {
   };
 
   if (!context.ConsumeAndAddLeafNodeIf(TokenKind::Identifier,
-                                       ParseNodeKind::Identifier)) {
+                                       ParseNodeKind::Name)) {
     CARBON_DIAGNOSTIC(ExpectedIdentifierAfterPackage, Error,
                       "Expected identifier after `package`.");
     context.emitter().Emit(*context.position(), ExpectedIdentifierAfterPackage);

+ 3 - 3
toolchain/parser/parser_handle_pattern.cpp

@@ -49,17 +49,17 @@ static auto ParserHandlePattern(ParserContext& context,
   // The first item should be an identifier or, for deduced parameters, `self`.
   bool has_name = false;
   if (auto identifier = context.ConsumeIf(TokenKind::Identifier)) {
-    context.AddLeafNode(ParseNodeKind::Identifier, *identifier);
+    context.AddLeafNode(ParseNodeKind::Name, *identifier);
     has_name = true;
   } else if (pattern_kind == ParserContext::PatternKind::DeducedParameter) {
     if (auto self = context.ConsumeIf(TokenKind::SelfValueIdentifier)) {
-      context.AddLeafNode(ParseNodeKind::SelfValueIdentifier, *self);
+      context.AddLeafNode(ParseNodeKind::SelfValueName, *self);
       has_name = true;
     }
   }
   if (!has_name) {
     // Add a placeholder for the name.
-    context.AddLeafNode(ParseNodeKind::Identifier, *context.position(),
+    context.AddLeafNode(ParseNodeKind::Name, *context.position(),
                         /*has_error=*/true);
     on_error();
     return;

+ 3 - 3
toolchain/parser/testdata/basics/builtin_types.carbon

@@ -5,21 +5,21 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'test_i32'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'test_i32'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:   {kind: 'Literal', text: '0'},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 7},
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'test_f64'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'test_f64'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'f64'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:   {kind: 'Literal', text: '0.1'},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 7},
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'test_str'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'test_str'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'String'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},

+ 7 - 7
toolchain/parser/testdata/basics/fail_invalid_designators.carbon

@@ -5,20 +5,20 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: ';', has_error: yes},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: ';', has_error: yes},
 // CHECK:STDOUT:     {kind: 'DesignatorExpression', text: '.', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', has_error: yes, subtree_size: 4},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'fn', has_error: yes},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'fn', has_error: yes},
 // CHECK:STDOUT:     {kind: 'DesignatorExpression', text: '.', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 4},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: '42', has_error: yes},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: '42', has_error: yes},
 // CHECK:STDOUT:     {kind: 'DesignatorExpression', text: '.', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 18},

+ 2 - 2
toolchain/parser/testdata/basics/fail_paren_match_regression.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: '=', has_error: yes},
+// CHECK:STDOUT:     {kind: 'Name', text: '=', has_error: yes},
 // CHECK:STDOUT:     {kind: 'InvalidParse', text: '=', has_error: yes},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: '=', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:     {kind: 'ParenExpressionOrTupleLiteralStart', text: '('},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'foo'},
 // CHECK:STDOUT:   {kind: 'ParenExpression', text: ')', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: 'var', has_error: yes, subtree_size: 9},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 8 - 8
toolchain/parser/testdata/basics/function_call.carbon

@@ -5,25 +5,25 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:                   {kind: 'NameReference', text: 'a'},
-// CHECK:STDOUT:                   {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:                   {kind: 'NameExpression', text: 'a'},
+// CHECK:STDOUT:                   {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:                 {kind: 'DesignatorExpression', text: '.', subtree_size: 3},
-// CHECK:STDOUT:                 {kind: 'Identifier', text: 'f'},
+// CHECK:STDOUT:                 {kind: 'Name', text: 'f'},
 // CHECK:STDOUT:               {kind: 'DesignatorExpression', text: '.', subtree_size: 5},
 // CHECK:STDOUT:             {kind: 'CallExpressionStart', text: '(', subtree_size: 6},
-// CHECK:STDOUT:               {kind: 'NameReference', text: 'c'},
-// CHECK:STDOUT:               {kind: 'Identifier', text: 'd'},
+// CHECK:STDOUT:               {kind: 'NameExpression', text: 'c'},
+// CHECK:STDOUT:               {kind: 'Name', text: 'd'},
 // CHECK:STDOUT:             {kind: 'DesignatorExpression', text: '.', subtree_size: 3},
 // CHECK:STDOUT:             {kind: 'CallExpressionComma', text: ','},
 // CHECK:STDOUT:               {kind: 'ParenExpressionOrTupleLiteralStart', text: '('},
-// CHECK:STDOUT:               {kind: 'NameReference', text: 'e'},
+// CHECK:STDOUT:               {kind: 'NameExpression', text: 'e'},
 // CHECK:STDOUT:             {kind: 'ParenExpression', text: ')', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'CallExpression', text: ')', subtree_size: 14},
-// CHECK:STDOUT:           {kind: 'Identifier', text: 'g'},
+// CHECK:STDOUT:           {kind: 'Name', text: 'g'},
 // CHECK:STDOUT:         {kind: 'DesignatorExpression', text: '.', subtree_size: 16},
 // CHECK:STDOUT:       {kind: 'CallExpressionStart', text: '(', subtree_size: 17},
 // CHECK:STDOUT:     {kind: 'CallExpression', text: ')', subtree_size: 18},

+ 3 - 3
toolchain/parser/testdata/basics/parens.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
@@ -19,7 +19,7 @@
 // CHECK:STDOUT:         {kind: 'ParenExpressionOrTupleLiteralStart', text: '('},
 // CHECK:STDOUT:           {kind: 'ParenExpressionOrTupleLiteralStart', text: '('},
 // CHECK:STDOUT:             {kind: 'ParenExpressionOrTupleLiteralStart', text: '('},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:           {kind: 'ParenExpression', text: ')', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'ParenExpression', text: ')', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ParenExpression', text: ')', subtree_size: 7},

+ 2 - 2
toolchain/parser/testdata/class/basic.carbon

@@ -5,10 +5,10 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'ClassDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Baz'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Baz'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 9 - 9
toolchain/parser/testdata/class/fn_definitions.carbon

@@ -5,18 +5,18 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'ClassDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'Make'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'Make'},
 // CHECK:STDOUT:         {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:       {kind: 'ParameterList', text: ')', subtree_size: 2},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 7},
 // CHECK:STDOUT:       {kind: 'ReturnStatementStart', text: 'return'},
 // CHECK:STDOUT:         {kind: 'StructLiteralOrStructTypeLiteralStart', text: '{'},
-// CHECK:STDOUT:             {kind: 'Identifier', text: 'x'},
+// CHECK:STDOUT:             {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:           {kind: 'StructFieldDesignator', text: '.', subtree_size: 2},
 // CHECK:STDOUT:           {kind: 'Literal', text: '0'},
 // CHECK:STDOUT:         {kind: 'StructFieldValue', text: '=', subtree_size: 4},
@@ -24,10 +24,10 @@
 // CHECK:STDOUT:     {kind: 'ReturnStatement', text: ';', subtree_size: 8},
 // CHECK:STDOUT:   {kind: 'FunctionDefinition', text: '}', subtree_size: 16},
 // CHECK:STDOUT:       {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'Baz'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'Baz'},
 // CHECK:STDOUT:         {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:           {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:           {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:           {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:           {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:         {kind: 'ParameterListStart', text: '('},
@@ -36,8 +36,8 @@
 // CHECK:STDOUT:       {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 12},
 // CHECK:STDOUT:       {kind: 'ReturnStatementStart', text: 'return'},
-// CHECK:STDOUT:         {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'x'},
+// CHECK:STDOUT:         {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:       {kind: 'DesignatorExpression', text: '.', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ReturnStatement', text: ';', subtree_size: 5},
 // CHECK:STDOUT:   {kind: 'FunctionDefinition', text: '}', subtree_size: 18},

+ 2 - 2
toolchain/parser/testdata/class/var.carbon

@@ -5,10 +5,10 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'ClassDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'x'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableDeclaration', text: ';', subtree_size: 5},

+ 5 - 5
toolchain/parser/testdata/for/fail_colon_instead_of_in.carbon

@@ -5,22 +5,22 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ForHeaderStart', text: '('},
 // CHECK:STDOUT:         {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:           {kind: 'Identifier', text: 'x'},
+// CHECK:STDOUT:           {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ForIn', text: ':', has_error: yes, subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'y'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'y'},
 // CHECK:STDOUT:     {kind: 'ForHeader', text: ')', subtree_size: 8},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'Print'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'Print'},
 // CHECK:STDOUT:           {kind: 'CallExpressionStart', text: '(', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:         {kind: 'CallExpression', text: ')', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 7},

+ 5 - 5
toolchain/parser/testdata/for/fail_missing_in.carbon

@@ -5,22 +5,22 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ForHeaderStart', text: '('},
 // CHECK:STDOUT:         {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:           {kind: 'Identifier', text: 'x'},
+// CHECK:STDOUT:           {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ForIn', text: 'var', has_error: yes, subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'y'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'y'},
 // CHECK:STDOUT:     {kind: 'ForHeader', text: ')', subtree_size: 8},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'Print'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'Print'},
 // CHECK:STDOUT:           {kind: 'CallExpressionStart', text: '(', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:         {kind: 'CallExpression', text: ')', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 7},

+ 4 - 4
toolchain/parser/testdata/for/fail_missing_var.carbon

@@ -5,17 +5,17 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ForHeaderStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'y'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'y'},
 // CHECK:STDOUT:     {kind: 'ForHeader', text: ')', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'Print'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'Print'},
 // CHECK:STDOUT:           {kind: 'CallExpressionStart', text: '(', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:         {kind: 'CallExpression', text: ')', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 7},

+ 7 - 7
toolchain/parser/testdata/for/nested.carbon

@@ -5,31 +5,31 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ForHeaderStart', text: '('},
 // CHECK:STDOUT:         {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:           {kind: 'Identifier', text: 'y'},
+// CHECK:STDOUT:           {kind: 'Name', text: 'y'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ForIn', text: 'in', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:     {kind: 'ForHeader', text: ')', subtree_size: 8},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
 // CHECK:STDOUT:           {kind: 'ForHeaderStart', text: '('},
 // CHECK:STDOUT:             {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:               {kind: 'Identifier', text: 'z'},
+// CHECK:STDOUT:               {kind: 'Name', text: 'z'},
 // CHECK:STDOUT:               {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:             {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'ForIn', text: 'in', subtree_size: 5},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'y'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'y'},
 // CHECK:STDOUT:         {kind: 'ForHeader', text: ')', subtree_size: 8},
 // CHECK:STDOUT:           {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:                 {kind: 'NameReference', text: 'Print'},
+// CHECK:STDOUT:                 {kind: 'NameExpression', text: 'Print'},
 // CHECK:STDOUT:               {kind: 'CallExpressionStart', text: '(', subtree_size: 2},
-// CHECK:STDOUT:               {kind: 'NameReference', text: 'z'},
+// CHECK:STDOUT:               {kind: 'NameExpression', text: 'z'},
 // CHECK:STDOUT:             {kind: 'CallExpression', text: ')', subtree_size: 4},
 // CHECK:STDOUT:           {kind: 'ExpressionStatement', text: ';', subtree_size: 5},
 // CHECK:STDOUT:         {kind: 'CodeBlock', text: '}', subtree_size: 7},

+ 5 - 5
toolchain/parser/testdata/for/simple.carbon

@@ -5,22 +5,22 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ForHeaderStart', text: '('},
 // CHECK:STDOUT:         {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:           {kind: 'Identifier', text: 'x'},
+// CHECK:STDOUT:           {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ForIn', text: 'in', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'y'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'y'},
 // CHECK:STDOUT:     {kind: 'ForHeader', text: ')', subtree_size: 8},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'Print'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'Print'},
 // CHECK:STDOUT:           {kind: 'CallExpressionStart', text: '(', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:         {kind: 'CallExpression', text: ')', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 7},

+ 2 - 2
toolchain/parser/testdata/function/declaration/addr.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 4},

+ 1 - 1
toolchain/parser/testdata/function/declaration/basic.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 1 - 1
toolchain/parser/testdata/function/declaration/deduced_empty.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},

+ 3 - 3
toolchain/parser/testdata/function/declaration/deduced_params.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 9},

+ 1 - 1
toolchain/parser/testdata/function/declaration/fail_identifier_instead_of_sig.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT: ]

+ 2 - 2
toolchain/parser/testdata/function/declaration/fail_missing_deduced_close.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Div'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Div'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: '(', has_error: yes},
+// CHECK:STDOUT:       {kind: 'Name', text: '(', has_error: yes},
 // CHECK:STDOUT:       {kind: 'InvalidParse', text: '(', has_error: yes},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: '(', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', has_error: yes, subtree_size: 5},

+ 1 - 1
toolchain/parser/testdata/function/declaration/fail_no_sig_or_semi.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT: ]

+ 1 - 1
toolchain/parser/testdata/function/declaration/fail_skip_indented_newline_until_outdent.carbon

@@ -7,7 +7,7 @@
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 1 - 1
toolchain/parser/testdata/function/declaration/fail_skip_indented_newline_with_semi.carbon

@@ -7,7 +7,7 @@
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', has_error: yes, subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 1 - 1
toolchain/parser/testdata/function/declaration/fail_skip_indented_newline_without_semi.carbon

@@ -7,7 +7,7 @@
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 1 - 1
toolchain/parser/testdata/function/declaration/fail_skip_to_newline_without_semi.carbon

@@ -7,7 +7,7 @@
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 1 - 1
toolchain/parser/testdata/function/declaration/fail_skip_without_semi_to_curly.carbon

@@ -6,7 +6,7 @@
 // CHECK:STDOUT: [
 // CHECK:STDOUT: {kind: 'EmptyDeclaration', text: 'struct', has_error: yes},
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 2 - 2
toolchain/parser/testdata/function/declaration/fail_with_identifier_as_param.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'bar'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'bar'},
 // CHECK:STDOUT:       {kind: 'InvalidParse', text: ')', has_error: yes},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: 'bar', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', has_error: yes, subtree_size: 5},

+ 3 - 3
toolchain/parser/testdata/function/declaration/params.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 9},

+ 1 - 1
toolchain/parser/testdata/function/declaration/with_return_type.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'u32'},

+ 1 - 1
toolchain/parser/testdata/function/definition/basic.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},

+ 2 - 2
toolchain/parser/testdata/function/definition/fail_identifier_in_statements.carbon

@@ -5,11 +5,11 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:   {kind: 'NameReference', text: 'bar'},
+// CHECK:STDOUT:   {kind: 'NameExpression', text: 'bar'},
 // CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', has_error: yes, subtree_size: 7},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT: ]

+ 7 - 7
toolchain/parser/testdata/function/definition/with_params.carbon

@@ -5,23 +5,23 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'bar'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'bar'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i64'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'baz'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'baz'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i64'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 9},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 12},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'foo'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'CallExpressionStart', text: '(', subtree_size: 2},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'baz'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'baz'},
 // CHECK:STDOUT:       {kind: 'CallExpressionComma', text: ','},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'bar'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'baz'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'bar'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'baz'},
 // CHECK:STDOUT:       {kind: 'InfixOperator', text: '+', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'CallExpression', text: ')', subtree_size: 8},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 9},

+ 1 - 1
toolchain/parser/testdata/function/definition/with_return_type.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'f64'},

+ 2 - 2
toolchain/parser/testdata/generics/deduced_params/empty.carbon

@@ -5,14 +5,14 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 7},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},

+ 6 - 6
toolchain/parser/testdata/generics/deduced_params/fail_no_parens.carbon

@@ -5,27 +5,27 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', has_error: yes, subtree_size: 5},
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', has_error: yes, subtree_size: 8},
 // CHECK:STDOUT:   {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'InterfaceDeclaration', text: 'interface', has_error: yes, subtree_size: 5},
 // CHECK:STDOUT:   {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 5},

+ 4 - 4
toolchain/parser/testdata/generics/deduced_params/one.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
@@ -15,9 +15,9 @@
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 10},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 5},

+ 4 - 4
toolchain/parser/testdata/generics/deduced_params/one_suffix_comma.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
@@ -16,9 +16,9 @@
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 11},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},

+ 14 - 14
toolchain/parser/testdata/generics/deduced_params/six.carbon

@@ -5,29 +5,29 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'c'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'c'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'd'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'd'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'e'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'e'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'f'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'f'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 25},
@@ -35,29 +35,29 @@
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 30},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'c'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'c'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'd'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'd'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'e'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'e'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'f'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'f'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 25},

+ 6 - 6
toolchain/parser/testdata/generics/deduced_params/two.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'DeducedParameterList', text: ']', subtree_size: 9},
@@ -19,13 +19,13 @@
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 14},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 9},

+ 6 - 6
toolchain/parser/testdata/generics/deduced_params/two_suffix_comma.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
@@ -20,13 +20,13 @@
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 15},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},

+ 2 - 2
toolchain/parser/testdata/generics/generic_params/basic.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'GenericPatternBinding', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 5},

+ 2 - 2
toolchain/parser/testdata/generics/generic_params/template.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'GenericPatternBinding', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'Template', text: 'template', subtree_size: 4},

+ 2 - 2
toolchain/parser/testdata/generics/generic_params/template_addr.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:           {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:           {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'GenericPatternBinding', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'Address', text: 'addr', subtree_size: 4},

+ 13 - 13
toolchain/parser/testdata/generics/interface/basic.carbon

@@ -5,36 +5,36 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Add'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Add'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 15},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Add'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Add'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'foo'},
+// CHECK:STDOUT:         {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 15},
 // CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 34},

+ 1 - 1
toolchain/parser/testdata/generics/interface/declaration.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 4},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 1 - 1
toolchain/parser/testdata/generics/interface/empty_body.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 4},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 2 - 2
toolchain/parser/testdata/generics/interface/fail_missing_open_curly.carbon

@@ -5,10 +5,10 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT: {kind: 'InterfaceDeclaration', text: 'interface', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT: {kind: 'InterfaceDeclaration', text: 'interface', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT: ]

+ 7 - 7
toolchain/parser/testdata/generics/interface/fail_no_impl_allowed.carbon

@@ -5,21 +5,21 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Add'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Add'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 15},
 // CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 19},

+ 11 - 11
toolchain/parser/testdata/generics/interface/fail_self_param_syntax.carbon

@@ -5,36 +5,36 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Sub'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Sub'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'me'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'me'},
 // CHECK:STDOUT:         {kind: 'InvalidParse', text: 'Self', has_error: yes},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: 'me', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', has_error: yes, subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 15},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Mul'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Mul'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'Self', has_error: yes},
+// CHECK:STDOUT:         {kind: 'Name', text: 'Self', has_error: yes},
 // CHECK:STDOUT:         {kind: 'InvalidParse', text: 'Self', has_error: yes},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: 'Self', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', has_error: yes, subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 15},
 // CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 34},

+ 3 - 3
toolchain/parser/testdata/generics/interface/non_instance_fn.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'FooFactory'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'FooFactory'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 7},
 // CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 11},

+ 13 - 13
toolchain/parser/testdata/generics/interface/self_pointer.carbon

@@ -5,40 +5,40 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Sub'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Sub'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:           {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:             {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:           {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:             {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:           {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'Address', text: 'addr', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 7},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 17},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Sub'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Sub'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:           {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'foo'},
+// CHECK:STDOUT:           {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'foo'},
 // CHECK:STDOUT:           {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'Address', text: 'addr', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 7},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 17},
 // CHECK:STDOUT: {kind: 'InterfaceDefinition', text: '}', subtree_size: 38},

+ 2 - 2
toolchain/parser/testdata/generics/named_constraint/basic.carbon

@@ -5,10 +5,10 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'NamedConstraintIntroducer', text: 'constraint'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'NamedConstraintDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Baz'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Baz'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},

+ 7 - 7
toolchain/parser/testdata/generics/named_constraint/fail_no_impl_allowed.carbon

@@ -5,21 +5,21 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'NamedConstraintIntroducer', text: 'constraint'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:   {kind: 'NamedConstraintDefinitionStart', text: '{', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Add'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Add'},
 // CHECK:STDOUT:       {kind: 'DeducedParameterListStart', text: '['},
-// CHECK:STDOUT:         {kind: 'SelfValueIdentifier', text: 'self'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'SelfValueName', text: 'self'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'DeducedParameterList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
-// CHECK:STDOUT:         {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
+// CHECK:STDOUT:         {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'SelfTypeIdentifier', text: 'Self'},
+// CHECK:STDOUT:       {kind: 'SelfTypeNameExpression', text: 'Self'},
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDeclaration', text: 'fn', has_error: yes, subtree_size: 15},
 // CHECK:STDOUT: {kind: 'NamedConstraintDefinition', text: '}', subtree_size: 19},

+ 2 - 2
toolchain/parser/testdata/generics/params/empty.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'InterfaceDefinitionStart', text: '{', subtree_size: 5},

+ 4 - 4
toolchain/parser/testdata/generics/params/one.carbon

@@ -5,17 +5,17 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 5},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 8},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},

+ 4 - 4
toolchain/parser/testdata/generics/params/one_suffix_comma.carbon

@@ -5,18 +5,18 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 6},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 9},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},

+ 14 - 14
toolchain/parser/testdata/generics/params/six.carbon

@@ -5,57 +5,57 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'c'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'c'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'd'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'd'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'e'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'e'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'f'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'f'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 25},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 28},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'c'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'c'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'd'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'd'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'e'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'e'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'f'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'f'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 25},

+ 6 - 6
toolchain/parser/testdata/generics/params/two.carbon

@@ -5,25 +5,25 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 9},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 12},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 9},

+ 6 - 6
toolchain/parser/testdata/generics/params/two_suffix_comma.carbon

@@ -5,26 +5,26 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'ClassIntroducer', text: 'class'},
-// CHECK:STDOUT:   {kind: 'Identifier', text: 'Foo'},
+// CHECK:STDOUT:   {kind: 'Name', text: 'Foo'},
 // CHECK:STDOUT:     {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterListComma', text: ','},
 // CHECK:STDOUT:   {kind: 'ParameterList', text: ')', subtree_size: 10},
 // CHECK:STDOUT: {kind: 'ClassDeclaration', text: ';', subtree_size: 13},
 // CHECK:STDOUT:     {kind: 'InterfaceIntroducer', text: 'interface'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'Bar'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'Bar'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},

+ 5 - 5
toolchain/parser/testdata/if/basic.carbon

@@ -5,23 +5,23 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
 // CHECK:STDOUT:           {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'CodeBlockStart', text: '{'},
 // CHECK:STDOUT:               {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:               {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:               {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:             {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:               {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:                 {kind: 'NameReference', text: 'd'},
+// CHECK:STDOUT:                 {kind: 'NameExpression', text: 'd'},
 // CHECK:STDOUT:               {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:             {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:           {kind: 'IfStatement', text: 'if', subtree_size: 8},

+ 11 - 11
toolchain/parser/testdata/if/else.carbon

@@ -5,52 +5,52 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
 // CHECK:STDOUT:           {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:           {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:         {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:           {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'd'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'd'},
 // CHECK:STDOUT:           {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'IfStatement', text: 'if', subtree_size: 13},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 15},
 // CHECK:STDOUT:     {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'e'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'e'},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:   {kind: 'IfStatement', text: 'if', subtree_size: 24},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'f'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'f'},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:     {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:         {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:       {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'g'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'g'},
 // CHECK:STDOUT:         {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:         {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'h'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'h'},
 // CHECK:STDOUT:         {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:     {kind: 'IfStatement', text: 'if', subtree_size: 13},

+ 11 - 11
toolchain/parser/testdata/if/fail_else_unbraced.carbon

@@ -5,52 +5,52 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: 'if', has_error: yes},
 // CHECK:STDOUT:           {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'CodeBlockStart', text: 'c', has_error: yes},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:           {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'CodeBlock', text: 'c', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT:         {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:           {kind: 'CodeBlockStart', text: 'd', has_error: yes},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'd'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'd'},
 // CHECK:STDOUT:           {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'CodeBlock', text: 'd', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'IfStatement', text: 'if', subtree_size: 13},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: 'if', has_error: yes, subtree_size: 15},
 // CHECK:STDOUT:     {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: 'e', has_error: yes},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'e'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'e'},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: 'e', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT:   {kind: 'IfStatement', text: 'if', subtree_size: 24},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'f'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'f'},
 // CHECK:STDOUT:       {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:     {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:         {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:       {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'g'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'g'},
 // CHECK:STDOUT:         {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'IfStatementElse', text: 'else'},
 // CHECK:STDOUT:         {kind: 'CodeBlockStart', text: '{'},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'h'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'h'},
 // CHECK:STDOUT:         {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'CodeBlock', text: '}', subtree_size: 4},
 // CHECK:STDOUT:     {kind: 'IfStatement', text: 'if', subtree_size: 13},

+ 4 - 4
toolchain/parser/testdata/if/fail_errors.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: 'if', has_error: yes},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: 'if', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 2},
@@ -22,13 +22,13 @@
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'IfStatement', text: 'if', subtree_size: 6},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '{'},
 // CHECK:STDOUT:     {kind: 'CodeBlock', text: '}', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'IfStatement', text: 'if', subtree_size: 6},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'd'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'd'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: '}', has_error: yes},
 // CHECK:STDOUT:       {kind: 'InvalidParse', text: '}', has_error: yes},

+ 5 - 5
toolchain/parser/testdata/if/fail_unbraced.carbon

@@ -6,23 +6,23 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:     {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'CodeBlockStart', text: 'if', has_error: yes},
 // CHECK:STDOUT:           {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'CodeBlockStart', text: 'if', has_error: yes},
 // CHECK:STDOUT:               {kind: 'IfConditionStart', text: '('},
-// CHECK:STDOUT:               {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:               {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:             {kind: 'IfCondition', text: ')', subtree_size: 3},
 // CHECK:STDOUT:               {kind: 'CodeBlockStart', text: 'd', has_error: yes},
-// CHECK:STDOUT:                 {kind: 'NameReference', text: 'd'},
+// CHECK:STDOUT:                 {kind: 'NameExpression', text: 'd'},
 // CHECK:STDOUT:               {kind: 'ExpressionStatement', text: ';', subtree_size: 2},
 // CHECK:STDOUT:             {kind: 'CodeBlock', text: 'd', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT:           {kind: 'IfStatement', text: 'if', subtree_size: 8},

+ 7 - 7
toolchain/parser/testdata/if_expression/basic.carbon

@@ -5,17 +5,17 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'bool'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'x'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'y'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'y'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 13},
@@ -23,11 +23,11 @@
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 18},
 // CHECK:STDOUT:     {kind: 'ReturnStatementStart', text: 'return'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:       {kind: 'IfExpressionIf', text: 'if', subtree_size: 2},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'x'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'x'},
 // CHECK:STDOUT:       {kind: 'IfExpressionThen', text: 'then', subtree_size: 2},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'y'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'y'},
 // CHECK:STDOUT:     {kind: 'IfExpressionElse', text: 'else', subtree_size: 6},
 // CHECK:STDOUT:   {kind: 'ReturnStatement', text: ';', subtree_size: 8},
 // CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 27},

+ 2 - 2
toolchain/parser/testdata/if_expression/fail_condition_missing.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'VariableInitializer', text: '='},

+ 2 - 2
toolchain/parser/testdata/if_expression/fail_else_expr_missing.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'VariableInitializer', text: '='},

+ 2 - 2
toolchain/parser/testdata/if_expression/fail_else_missing.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'VariableInitializer', text: '='},

+ 2 - 2
toolchain/parser/testdata/if_expression/fail_then_expr_missing.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'VariableInitializer', text: '='},

+ 2 - 2
toolchain/parser/testdata/if_expression/fail_then_missing.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'VariableInitializer', text: '='},

+ 1 - 1
toolchain/parser/testdata/if_expression/fail_top_level_if.carbon

@@ -5,7 +5,7 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},

+ 8 - 8
toolchain/parser/testdata/if_expression/precedence.carbon

@@ -5,9 +5,9 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'bool'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 5},
@@ -15,19 +15,19 @@
 // CHECK:STDOUT:     {kind: 'ReturnType', text: '->', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 10},
 // CHECK:STDOUT:     {kind: 'ReturnStatementStart', text: 'return'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:           {kind: 'ShortCircuitOperand', text: 'and', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: 'and', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'IfExpressionIf', text: 'if', subtree_size: 5},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:           {kind: 'ShortCircuitOperand', text: 'and', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: 'and', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'IfExpressionThen', text: 'then', subtree_size: 5},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'ShortCircuitOperand', text: 'or', subtree_size: 2},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:       {kind: 'InfixOperator', text: 'or', subtree_size: 4},
 // CHECK:STDOUT:     {kind: 'IfExpressionElse', text: 'else', subtree_size: 15},
 // CHECK:STDOUT:   {kind: 'ReturnStatement', text: ';', subtree_size: 17},

+ 4 - 4
toolchain/parser/testdata/operators/associative.carbon

@@ -5,16 +5,16 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:           {kind: 'ShortCircuitOperand', text: 'and', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: 'and', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ShortCircuitOperand', text: 'and', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: 'and', subtree_size: 7},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 8},
 // CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 14},

+ 2 - 2
toolchain/parser/testdata/operators/fail_infix_uneven_space_after.carbon

@@ -5,11 +5,11 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:   {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', has_error: yes, subtree_size: 8},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 5 - 5
toolchain/parser/testdata/operators/fail_invalid_infix.carbon

@@ -5,25 +5,25 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'a'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'a'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:     {kind: 'InvalidParse', text: ';', has_error: yes},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '==', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 9},
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:     {kind: 'InvalidParse', text: '==', has_error: yes},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '==', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 9},
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'c'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'c'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},

+ 4 - 4
toolchain/parser/testdata/operators/fail_precedence_and_or.carbon

@@ -5,16 +5,16 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:           {kind: 'ShortCircuitOperand', text: 'and', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: 'and', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ShortCircuitOperand', text: 'or', has_error: yes, subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: 'or', has_error: yes, subtree_size: 7},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 8},
 // CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 14},

+ 4 - 4
toolchain/parser/testdata/operators/fail_precedence_or_and.carbon

@@ -5,16 +5,16 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:           {kind: 'ShortCircuitOperand', text: 'or', subtree_size: 2},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: 'or', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ShortCircuitOperand', text: 'and', has_error: yes, subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: 'and', has_error: yes, subtree_size: 7},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 8},
 // CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 14},

+ 3 - 3
toolchain/parser/testdata/operators/fail_precedence_star_minus.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:     {kind: 'PostfixOperator', text: '*', subtree_size: 2},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '-', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 10},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 3 - 3
toolchain/parser/testdata/operators/fail_precedence_star_star.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:     {kind: 'PostfixOperator', text: '*', subtree_size: 2},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'p'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'p'},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '*', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 10},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 2 - 2
toolchain/parser/testdata/operators/fail_star_star_no_space.carbon

@@ -5,11 +5,11 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:     {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'PostfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', has_error: yes, subtree_size: 9},

+ 11 - 11
toolchain/parser/testdata/operators/fail_variety.carbon

@@ -5,26 +5,26 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'a'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'a'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:           {kind: 'InfixOperator', text: '*', subtree_size: 3},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'c'},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'd'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'c'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'd'},
 // CHECK:STDOUT:           {kind: 'InfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: '+', subtree_size: 7},
-// CHECK:STDOUT:                 {kind: 'NameReference', text: 'd'},
-// CHECK:STDOUT:                 {kind: 'NameReference', text: 'd'},
+// CHECK:STDOUT:                 {kind: 'NameExpression', text: 'd'},
+// CHECK:STDOUT:                 {kind: 'NameExpression', text: 'd'},
 // CHECK:STDOUT:               {kind: 'InfixOperator', text: '*', subtree_size: 3},
-// CHECK:STDOUT:               {kind: 'NameReference', text: 'e'},
+// CHECK:STDOUT:               {kind: 'NameExpression', text: 'e'},
 // CHECK:STDOUT:             {kind: 'InfixOperator', text: '<<', has_error: yes, subtree_size: 5},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'f'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'f'},
 // CHECK:STDOUT:           {kind: 'InfixOperator', text: '&', has_error: yes, subtree_size: 7},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'g'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'g'},
 // CHECK:STDOUT:           {kind: 'PrefixOperator', text: 'not', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: '-', has_error: yes, subtree_size: 10},
 // CHECK:STDOUT:       {kind: 'InfixOperator', text: '=', subtree_size: 18},

+ 4 - 4
toolchain/parser/testdata/operators/fixity_in_call.carbon

@@ -5,17 +5,17 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'G'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'G'},
 // CHECK:STDOUT:       {kind: 'CallExpressionStart', text: '(', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'CallExpressionComma', text: ','},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:       {kind: 'InfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'CallExpression', text: ')', subtree_size: 9},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 10},

+ 3 - 3
toolchain/parser/testdata/operators/fixity_in_params.carbon

@@ -5,14 +5,14 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'p'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'p'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'ParameterListComma', text: ','},
-// CHECK:STDOUT:         {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:         {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 10},

+ 5 - 5
toolchain/parser/testdata/operators/fixity_in_var.carbon

@@ -5,21 +5,21 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 'q'},
+// CHECK:STDOUT:       {kind: 'Name', text: 'q'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:       {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 4},
 // CHECK:STDOUT:     {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'p'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'p'},
 // CHECK:STDOUT:   {kind: 'VariableDeclaration', text: ';', subtree_size: 8},
 // CHECK:STDOUT:     {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:       {kind: 'Identifier', text: 't'},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'type'},
+// CHECK:STDOUT:       {kind: 'Name', text: 't'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'type'},
 // CHECK:STDOUT:     {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:       {kind: 'Literal', text: 'i32'},

+ 12 - 12
toolchain/parser/testdata/operators/fixity_with_assign.carbon

@@ -5,32 +5,32 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 't'},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 't'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 't'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 't'},
 // CHECK:STDOUT:         {kind: 'PostfixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'PostfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: '=', subtree_size: 5},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 6},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:       {kind: 'InfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: '=', subtree_size: 5},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 6},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:           {kind: 'NameReference', text: 'p'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:           {kind: 'NameExpression', text: 'p'},
 // CHECK:STDOUT:         {kind: 'PrefixOperator', text: '*', subtree_size: 2},
 // CHECK:STDOUT:       {kind: 'InfixOperator', text: '*', subtree_size: 4},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: '=', subtree_size: 6},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 7},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:       {kind: 'InfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: '=', subtree_size: 5},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 6},

+ 3 - 3
toolchain/parser/testdata/operators/infix.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 9},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 3 - 3
toolchain/parser/testdata/operators/infix_no_space.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '*', subtree_size: 3},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 9},
 // CHECK:STDOUT: {kind: 'FileEnd', text: ''},

+ 2 - 2
toolchain/parser/testdata/operators/infix_with_paren_after.carbon

@@ -5,13 +5,13 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:     {kind: 'Literal', text: '3'},
 // CHECK:STDOUT:       {kind: 'ParenExpressionOrTupleLiteralStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:     {kind: 'ParenExpression', text: ')', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '*', subtree_size: 5},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 11},

+ 2 - 2
toolchain/parser/testdata/operators/infix_with_paren_before.carbon

@@ -5,12 +5,12 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:       {kind: 'ParenExpressionOrTupleLiteralStart', text: '('},
-// CHECK:STDOUT:       {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:       {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:     {kind: 'ParenExpression', text: ')', subtree_size: 3},
 // CHECK:STDOUT:     {kind: 'Literal', text: '3'},
 // CHECK:STDOUT:   {kind: 'InfixOperator', text: '*', subtree_size: 5},

+ 2 - 2
toolchain/parser/testdata/operators/postfix.carbon

@@ -5,8 +5,8 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'v'},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'type'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'v'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'type'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},

+ 2 - 2
toolchain/parser/testdata/operators/postfix_repeat.carbon

@@ -5,11 +5,11 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:       {kind: 'PostfixOperator', text: '++', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'PostfixOperator', text: '++', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 4},

+ 2 - 2
toolchain/parser/testdata/operators/postfix_space_after_op.carbon

@@ -5,8 +5,8 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'v'},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'type'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'v'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'type'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},

+ 4 - 4
toolchain/parser/testdata/operators/precedence_not.carbon

@@ -5,18 +5,18 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:     {kind: 'FunctionIntroducer', text: 'fn'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'F'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'F'},
 // CHECK:STDOUT:       {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:     {kind: 'ParameterList', text: ')', subtree_size: 2},
 // CHECK:STDOUT:   {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
-// CHECK:STDOUT:               {kind: 'NameReference', text: 'a'},
+// CHECK:STDOUT:               {kind: 'NameExpression', text: 'a'},
 // CHECK:STDOUT:             {kind: 'PrefixOperator', text: 'not', subtree_size: 2},
 // CHECK:STDOUT:           {kind: 'ShortCircuitOperand', text: 'and', subtree_size: 3},
-// CHECK:STDOUT:             {kind: 'NameReference', text: 'b'},
+// CHECK:STDOUT:             {kind: 'NameExpression', text: 'b'},
 // CHECK:STDOUT:           {kind: 'PrefixOperator', text: 'not', subtree_size: 2},
 // CHECK:STDOUT:         {kind: 'InfixOperator', text: 'and', subtree_size: 6},
 // CHECK:STDOUT:       {kind: 'ShortCircuitOperand', text: 'and', subtree_size: 7},
-// CHECK:STDOUT:         {kind: 'NameReference', text: 'c'},
+// CHECK:STDOUT:         {kind: 'NameExpression', text: 'c'},
 // CHECK:STDOUT:       {kind: 'PrefixOperator', text: 'not', subtree_size: 2},
 // CHECK:STDOUT:     {kind: 'InfixOperator', text: 'and', subtree_size: 10},
 // CHECK:STDOUT:   {kind: 'ExpressionStatement', text: ';', subtree_size: 11},

+ 3 - 3
toolchain/parser/testdata/operators/prefix.carbon

@@ -5,15 +5,15 @@
 // AUTOUPDATE
 // CHECK:STDOUT: [
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'n'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'n'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'i8'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},
-// CHECK:STDOUT:     {kind: 'NameReference', text: 'n'},
+// CHECK:STDOUT:     {kind: 'NameExpression', text: 'n'},
 // CHECK:STDOUT:   {kind: 'PrefixOperator', text: '-', subtree_size: 2},
 // CHECK:STDOUT: {kind: 'VariableDeclaration', text: ';', subtree_size: 8},
 // CHECK:STDOUT:   {kind: 'VariableIntroducer', text: 'var'},
-// CHECK:STDOUT:     {kind: 'Identifier', text: 'b'},
+// CHECK:STDOUT:     {kind: 'Name', text: 'b'},
 // CHECK:STDOUT:     {kind: 'Literal', text: 'bool'},
 // CHECK:STDOUT:   {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:   {kind: 'VariableInitializer', text: '='},

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff