|
42 | 42 | Child('Expression', kind='Expr'),
|
43 | 43 | ]),
|
44 | 44 |
|
45 |
| - # switch-case-list -> switch-case switch-case-list? |
46 |
| - Node('SwitchCaseList', name_for_diagnostics=None, kind='SyntaxCollection', |
47 |
| - element='Syntax', element_name='SwitchCase', |
48 |
| - element_choices=['SwitchCase', 'IfConfigDecl'], |
49 |
| - elements_separated_by_newline=True), |
50 |
| - |
51 | 45 | # repeat-while-stmt -> label? ':'? 'repeat' code-block 'while' expr ';'?
|
52 | 46 | Node('RepeatWhileStmt', name_for_diagnostics="'repeat' statement", kind='Stmt',
|
53 | 47 | traits=['WithCodeBlock'],
|
|
99 | 93 | Child('Body', kind='CodeBlock', name_for_diagnostics='body'),
|
100 | 94 | ]),
|
101 | 95 |
|
102 |
| - # switch-stmt -> identifier? ':'? 'switch' expr '{' |
103 |
| - # switch-case-list '}' ';'? |
104 |
| - Node('SwitchStmt', name_for_diagnostics="'switch' statement", kind='Stmt', |
105 |
| - traits=['Braced'], |
106 |
| - children=[ |
107 |
| - Child('SwitchKeyword', kind='SwitchToken'), |
108 |
| - Child('Expression', kind='Expr'), |
109 |
| - Child('LeftBrace', kind='LeftBraceToken'), |
110 |
| - Child('Cases', kind='SwitchCaseList', |
111 |
| - collection_element_name='Case'), |
112 |
| - Child('RightBrace', kind='RightBraceToken', |
113 |
| - requires_leading_newline=True), |
114 |
| - ]), |
115 |
| - |
116 | 96 | # catch-clause-list -> catch-clause catch-clause-list?
|
117 | 97 | Node('CatchClauseList', name_for_diagnostics="'catch' clause",
|
118 | 98 | kind='SyntaxCollection', element='CatchClause'),
|
|
271 | 251 | Child('Expression', kind='Expr'),
|
272 | 252 | ]),
|
273 | 253 |
|
274 |
| - # switch-case -> unknown-attr? switch-case-label stmt-list |
275 |
| - # | unknown-attr? switch-default-label stmt-list |
276 |
| - Node('SwitchCase', name_for_diagnostics='switch case', kind='Syntax', |
277 |
| - traits=['WithStatements'], |
278 |
| - parser_function='parseSwitchCase', |
279 |
| - children=[ |
280 |
| - Child('UnknownAttr', kind='Attribute', is_optional=True), |
281 |
| - Child('Label', kind='Syntax', name_for_diagnostics='label', |
282 |
| - node_choices=[ |
283 |
| - Child('Default', kind='SwitchDefaultLabel'), |
284 |
| - Child('Case', kind='SwitchCaseLabel'), |
285 |
| - ]), |
286 |
| - Child('Statements', kind='CodeBlockItemList', |
287 |
| - collection_element_name='Statement', |
288 |
| - is_indented=True), |
289 |
| - ]), |
290 |
| - |
291 |
| - # switch-default-label -> 'default' ':' |
292 |
| - Node('SwitchDefaultLabel', name_for_diagnostics=None, kind='Syntax', |
293 |
| - children=[ |
294 |
| - Child('DefaultKeyword', kind='DefaultToken'), |
295 |
| - Child('Colon', kind='ColonToken'), |
296 |
| - ]), |
297 |
| - |
298 |
| - # case-item -> pattern where-clause? ','? |
299 |
| - Node('CaseItem', name_for_diagnostics=None, kind='Syntax', |
300 |
| - traits=['WithTrailingComma'], |
301 |
| - children=[ |
302 |
| - Child('Pattern', kind='Pattern'), |
303 |
| - Child('WhereClause', kind='WhereClause', |
304 |
| - is_optional=True), |
305 |
| - Child('TrailingComma', kind='CommaToken', |
306 |
| - is_optional=True), |
307 |
| - ]), |
308 |
| - |
309 | 254 | # catch-item -> pattern? where-clause? ','?
|
310 | 255 | Node('CatchItem', name_for_diagnostics=None, kind='Syntax',
|
311 | 256 | traits=['WithTrailingComma'],
|
|
317 | 262 | is_optional=True),
|
318 | 263 | ]),
|
319 | 264 |
|
320 |
| - # switch-case-label -> 'case' case-item-list ':' |
321 |
| - Node('SwitchCaseLabel', name_for_diagnostics=None, kind='Syntax', |
322 |
| - children=[ |
323 |
| - Child('CaseKeyword', kind='CaseToken'), |
324 |
| - Child('CaseItems', kind='CaseItemList', |
325 |
| - collection_element_name='CaseItem'), |
326 |
| - Child('Colon', kind='ColonToken'), |
327 |
| - ]), |
328 |
| - |
329 | 265 | # catch-clause 'catch' case-item-list? code-block
|
330 | 266 | Node('CatchClause', name_for_diagnostics="'catch' clause", kind='Syntax',
|
331 | 267 | traits=['WithCodeBlock'],
|
|
0 commit comments