Parsing and basic checking for abstract class and base class. (#3385)

For now, we require the same introducer to be used each time a class is
declared, but see #3384.

---------

Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
This commit is contained in:
Richard Smith
2023-11-13 20:38:21 +00:00
committed by GitHub
co-authored by Jon Ross-Perkins
parent 49591d1360
commit 2715e2276e
23 changed files with 520 additions and 114 deletions
+4 -2
View File
@@ -328,7 +328,9 @@ class NodeStack {
return IdKind::ClassId;
case Parse::NodeKind::Name:
return IdKind::NameId;
case Parse::NodeKind::AbstractModifier:
case Parse::NodeKind::ArrayExprSemi:
case Parse::NodeKind::BaseModifier:
case Parse::NodeKind::ClassIntroducer:
case Parse::NodeKind::CodeBlockStart:
case Parse::NodeKind::FunctionIntroducer:
@@ -338,9 +340,9 @@ class NodeStack {
case Parse::NodeKind::ParamListStart:
case Parse::NodeKind::ParenExprOrTupleLiteralStart:
case Parse::NodeKind::QualifiedDecl:
case Parse::NodeKind::ReturnedSpecifier:
case Parse::NodeKind::ReturnedModifier:
case Parse::NodeKind::ReturnStatementStart:
case Parse::NodeKind::ReturnVarSpecifier:
case Parse::NodeKind::ReturnVarModifier:
case Parse::NodeKind::SelfValueName:
case Parse::NodeKind::StructLiteralOrStructTypeLiteralStart:
case Parse::NodeKind::VariableInitializer: