Parse vars in classes the same as vars in other locations (#7188)

Class vars are still restricted to simple `name: type` bindings, not
full patterns. This is now handled in the check phase instead of during
parsing.

This is in preparation for supporting `static var`.
This commit is contained in:
Nicholas Bishop
2026-05-13 21:22:46 +00:00
committed by GitHub
parent 5706601096
commit bd918fb33b
91 changed files with 370 additions and 660 deletions
-3
View File
@@ -414,7 +414,6 @@ class NodeStack {
-> std::optional<Id::Kind> {
switch (node_kind) {
case Parse::NodeKind::CallExprStart:
case Parse::NodeKind::FieldNameAndType:
case Parse::NodeKind::IfExprThen:
case Parse::NodeKind::RequireIntroducer:
case Parse::NodeKind::ShortCircuitOperandAnd:
@@ -454,8 +453,6 @@ class NodeStack {
case Parse::NodeKind::ClassIntroducer:
case Parse::NodeKind::CodeBlockStart:
case Parse::NodeKind::ExplicitParamListStart:
case Parse::NodeKind::FieldInitializer:
case Parse::NodeKind::FieldIntroducer:
case Parse::NodeKind::ForHeaderStart:
case Parse::NodeKind::FunctionIntroducer:
case Parse::NodeKind::IfStatementElse: