Explorar el Código

Address TODO to change GenericBindingPattern to CompileTimeBindingPattern (#3713)

CJ Johnson hace 2 años
padre
commit
518e361328

+ 2 - 3
toolchain/check/handle_binding_pattern.cpp

@@ -164,9 +164,8 @@ auto HandleBindingPattern(Context& context, Parse::BindingPatternId parse_node)
   return HandleAnyBindingPattern(context, parse_node, /*is_generic=*/false);
 }
 
-auto HandleGenericBindingPattern(Context& context,
-                                 Parse::GenericBindingPatternId parse_node)
-    -> bool {
+auto HandleCompileTimeBindingPattern(
+    Context& context, Parse::CompileTimeBindingPatternId parse_node) -> bool {
   return HandleAnyBindingPattern(context, parse_node, /*is_generic=*/true);
 }
 

+ 1 - 1
toolchain/check/node_stack.h

@@ -436,7 +436,7 @@ class NodeStack {
         case Parse::NodeKind::Addr:
         case Parse::NodeKind::BindingPattern:
         case Parse::NodeKind::CallExprStart:
-        case Parse::NodeKind::GenericBindingPattern:
+        case Parse::NodeKind::CompileTimeBindingPattern:
         case Parse::NodeKind::IfExprThen:
         case Parse::NodeKind::ReturnType:
         case Parse::NodeKind::ShortCircuitOperandAnd:

+ 1 - 1
toolchain/parse/handle_binding_pattern.cpp

@@ -85,7 +85,7 @@ static auto HandleBindingPatternFinish(Context& context, NodeKind node_kind)
 }
 
 auto HandleBindingPatternFinishAsGeneric(Context& context) -> void {
-  HandleBindingPatternFinish(context, NodeKind::GenericBindingPattern);
+  HandleBindingPatternFinish(context, NodeKind::CompileTimeBindingPattern);
 }
 
 auto HandleBindingPatternFinishAsRegular(Context& context) -> void {

+ 1 - 3
toolchain/parse/node_kind.def

@@ -309,10 +309,8 @@ CARBON_PARSE_NODE_KIND_BRACKET(ArrayExpr, ArrayExprSemi, CloseSquareBracket)
 //     [Generic]BindingPattern
 //   _optional_ Addr
 // _optional_ Template
-//
-// TODO: Rename GenericBindingPattern to CompileTimeBindingPattern.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(BindingPattern, 2, CARBON_IF_VALID(Colon))
-CARBON_PARSE_NODE_KIND_CHILD_COUNT(GenericBindingPattern, 2, ColonExclaim)
+CARBON_PARSE_NODE_KIND_CHILD_COUNT(CompileTimeBindingPattern, 2, ColonExclaim)
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(Addr, 1, Addr)
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(Template, 1, Template)
 

+ 1 - 1
toolchain/parse/testdata/choice/fail_missing_definition_parameterized.carbon

@@ -17,7 +17,7 @@ choice MissingDefinition(T:! type);
 // CHECK:STDOUT:           {kind: 'TuplePatternStart', text: '('},
 // CHECK:STDOUT:             {kind: 'IdentifierName', text: 'T'},
 // CHECK:STDOUT:             {kind: 'TypeTypeLiteral', text: 'type'},
-// CHECK:STDOUT:           {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:           {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'TuplePattern', text: ')', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ChoiceDefinitionStart', text: ';', has_error: yes, subtree_size: 8},
 // CHECK:STDOUT:     {kind: 'ChoiceDefinition', text: ';', has_error: yes, subtree_size: 9},

+ 1 - 1
toolchain/parse/testdata/choice/parameterized.carbon

@@ -17,7 +17,7 @@ choice OptionalElement(T:! type) {
 // CHECK:STDOUT:           {kind: 'TuplePatternStart', text: '('},
 // CHECK:STDOUT:             {kind: 'IdentifierName', text: 'T'},
 // CHECK:STDOUT:             {kind: 'TypeTypeLiteral', text: 'type'},
-// CHECK:STDOUT:           {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:           {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'TuplePattern', text: ')', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ChoiceDefinitionStart', text: '{', subtree_size: 8},
 // CHECK:STDOUT:       {kind: 'IdentifierName', text: 'Element'},

+ 1 - 1
toolchain/parse/testdata/generics/generic_params/basic.carbon

@@ -14,7 +14,7 @@ fn foo(a:! i32);
 // CHECK:STDOUT:         {kind: 'TuplePatternStart', text: '('},
 // CHECK:STDOUT:           {kind: 'IdentifierName', text: 'a'},
 // CHECK:STDOUT:           {kind: 'IntTypeLiteral', text: 'i32'},
-// CHECK:STDOUT:         {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:         {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'TuplePattern', text: ')', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'FunctionDecl', text: ';', subtree_size: 8},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},

+ 1 - 1
toolchain/parse/testdata/generics/generic_params/template.carbon

@@ -14,7 +14,7 @@ fn foo(template a:! i32);
 // CHECK:STDOUT:         {kind: 'TuplePatternStart', text: '('},
 // CHECK:STDOUT:             {kind: 'IdentifierName', text: 'a'},
 // CHECK:STDOUT:             {kind: 'IntTypeLiteral', text: 'i32'},
-// CHECK:STDOUT:           {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:           {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'Template', text: 'template', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'TuplePattern', text: ')', subtree_size: 6},
 // CHECK:STDOUT:     {kind: 'FunctionDecl', text: ';', subtree_size: 9},

+ 1 - 1
toolchain/parse/testdata/generics/generic_params/template_addr.carbon

@@ -14,7 +14,7 @@ fn foo(template addr a:! i32);
 // CHECK:STDOUT:         {kind: 'TuplePatternStart', text: '('},
 // CHECK:STDOUT:               {kind: 'IdentifierName', text: 'a'},
 // CHECK:STDOUT:               {kind: 'IntTypeLiteral', text: 'i32'},
-// CHECK:STDOUT:             {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:             {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'Addr', text: 'addr', subtree_size: 4},
 // CHECK:STDOUT:         {kind: 'Template', text: 'template', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'TuplePattern', text: ')', subtree_size: 7},

+ 3 - 3
toolchain/parse/testdata/generics/impl/fail_impl.carbon

@@ -133,7 +133,7 @@ impl
 // CHECK:STDOUT:           {kind: 'ImplicitParamListStart', text: '['},
 // CHECK:STDOUT:             {kind: 'IdentifierName', text: 'T'},
 // CHECK:STDOUT:             {kind: 'TypeTypeLiteral', text: 'type'},
-// CHECK:STDOUT:           {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:           {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'ImplicitParamList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ImplForall', text: 'forall', subtree_size: 6},
 // CHECK:STDOUT:       {kind: 'StringTypeLiteral', text: 'String'},
@@ -142,7 +142,7 @@ impl
 // CHECK:STDOUT:           {kind: 'ImplicitParamListStart', text: '['},
 // CHECK:STDOUT:             {kind: 'IdentifierName', text: 'T'},
 // CHECK:STDOUT:             {kind: 'TypeTypeLiteral', text: 'type'},
-// CHECK:STDOUT:           {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:           {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'ImplicitParamList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ImplForall', text: 'forall', subtree_size: 6},
 // CHECK:STDOUT:       {kind: 'IdentifierNameExpr', text: 'T'},
@@ -151,7 +151,7 @@ impl
 // CHECK:STDOUT:           {kind: 'ImplicitParamListStart', text: '['},
 // CHECK:STDOUT:             {kind: 'IdentifierName', text: 'T'},
 // CHECK:STDOUT:             {kind: 'TypeTypeLiteral', text: 'type'},
-// CHECK:STDOUT:           {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:           {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'ImplicitParamList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ImplForall', text: 'forall', subtree_size: 6},
 // CHECK:STDOUT:         {kind: 'IdentifierNameExpr', text: 'T'},

+ 3 - 3
toolchain/parse/testdata/generics/impl/forall.carbon

@@ -16,7 +16,7 @@ impl forall [T:! type, U:! Interface] U as Interface(T) {
 // CHECK:STDOUT:           {kind: 'ImplicitParamListStart', text: '['},
 // CHECK:STDOUT:             {kind: 'IdentifierName', text: 'T'},
 // CHECK:STDOUT:             {kind: 'TypeTypeLiteral', text: 'type'},
-// CHECK:STDOUT:           {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:           {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'ImplicitParamList', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'ImplForall', text: 'forall', subtree_size: 6},
 // CHECK:STDOUT:         {kind: 'IdentifierNameExpr', text: 'T'},
@@ -27,11 +27,11 @@ impl forall [T:! type, U:! Interface] U as Interface(T) {
 // CHECK:STDOUT:             {kind: 'ImplicitParamListStart', text: '['},
 // CHECK:STDOUT:               {kind: 'IdentifierName', text: 'T'},
 // CHECK:STDOUT:               {kind: 'TypeTypeLiteral', text: 'type'},
-// CHECK:STDOUT:             {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:             {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:             {kind: 'PatternListComma', text: ','},
 // CHECK:STDOUT:               {kind: 'IdentifierName', text: 'U'},
 // CHECK:STDOUT:               {kind: 'IdentifierNameExpr', text: 'Interface'},
-// CHECK:STDOUT:             {kind: 'GenericBindingPattern', text: ':!', subtree_size: 3},
+// CHECK:STDOUT:             {kind: 'CompileTimeBindingPattern', text: ':!', subtree_size: 3},
 // CHECK:STDOUT:           {kind: 'ImplicitParamList', text: ']', subtree_size: 9},
 // CHECK:STDOUT:         {kind: 'ImplForall', text: 'forall', subtree_size: 10},
 // CHECK:STDOUT:           {kind: 'IdentifierNameExpr', text: 'U'},

+ 3 - 3
toolchain/parse/typed_nodes.h

@@ -226,9 +226,9 @@ struct BindingPattern {
 };
 
 // `name:! Type`
-struct GenericBindingPattern {
+struct CompileTimeBindingPattern {
   static constexpr auto Kind =
-      NodeKind::GenericBindingPattern.Define(NodeCategory::Pattern);
+      NodeKind::CompileTimeBindingPattern.Define(NodeCategory::Pattern);
 
   NodeIdOneOf<IdentifierName, SelfValueName> name;
   AnyExprId type;
@@ -245,7 +245,7 @@ struct Addr {
 struct Template {
   static constexpr auto Kind = NodeKind::Template.Define(NodeCategory::Pattern);
 
-  // This is a GenericBindingPatternId in any valid program.
+  // This is a CompileTimeBindingPatternId in any valid program.
   // TODO: Should the parser enforce that?
   AnyPatternId inner;
 };