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
+1 -1
View File
@@ -20,7 +20,7 @@ fn F() {
// CHECK:STDOUT: {kind: 'ParamList', text: ')', subtree_size: 2},
// CHECK:STDOUT: {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 5},
// CHECK:STDOUT: {kind: 'ReturnStatementStart', text: 'return'},
// CHECK:STDOUT: {kind: 'ReturnVarSpecifier', text: 'var'},
// CHECK:STDOUT: {kind: 'ReturnVarModifier', text: 'var'},
// CHECK:STDOUT: {kind: 'ReturnStatement', text: 'return', has_error: yes, subtree_size: 3},
// CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 9},
// CHECK:STDOUT: {kind: 'FileEnd', text: ''},
+2 -2
View File
@@ -20,7 +20,7 @@ fn F() -> String {
// CHECK:STDOUT: {kind: 'ReturnType', text: '->', subtree_size: 2},
// CHECK:STDOUT: {kind: 'FunctionDefinitionStart', text: '{', subtree_size: 7},
// CHECK:STDOUT: {kind: 'VariableIntroducer', text: 'var'},
// CHECK:STDOUT: {kind: 'ReturnedSpecifier', text: 'returned'},
// CHECK:STDOUT: {kind: 'ReturnedModifier', text: 'returned'},
// CHECK:STDOUT: {kind: 'Name', text: 's'},
// CHECK:STDOUT: {kind: 'Literal', text: 'String'},
// CHECK:STDOUT: {kind: 'PatternBinding', text: ':', subtree_size: 3},
@@ -28,7 +28,7 @@ fn F() -> String {
// CHECK:STDOUT: {kind: 'Literal', text: '"hello"'},
// CHECK:STDOUT: {kind: 'VariableDecl', text: ';', subtree_size: 8},
// CHECK:STDOUT: {kind: 'ReturnStatementStart', text: 'return'},
// CHECK:STDOUT: {kind: 'ReturnVarSpecifier', text: 'var'},
// CHECK:STDOUT: {kind: 'ReturnVarModifier', text: 'var'},
// CHECK:STDOUT: {kind: 'ReturnStatement', text: ';', subtree_size: 3},
// CHECK:STDOUT: {kind: 'FunctionDefinition', text: '}', subtree_size: 19},
// CHECK:STDOUT: {kind: 'FileEnd', text: ''},