@@ -168,29 +168,6 @@ extension Parser {
168
168
169
169
/// Parse a declaration.
170
170
///
171
- /// Grammar
172
- /// =======
173
- ///
174
- /// declaration → import-declaration
175
- /// declaration → constant-declaration
176
- /// declaration → variable-declaration
177
- /// declaration → typealias-declaration
178
- /// declaration → function-declaration
179
- /// declaration → enum-declaration
180
- /// declaration → struct-declaration
181
- /// declaration → class-declaration
182
- /// declaration → actor-declaration
183
- /// declaration → protocol-declaration
184
- /// declaration → initializer-declaration
185
- /// declaration → deinitializer-declaration
186
- /// declaration → extension-declaration
187
- /// declaration → subscript-declaration
188
- /// declaration → operator-declaration
189
- /// declaration → precedence-group-declaration
190
- /// declaration → macro-declaration
191
- ///
192
- /// declarations → declaration declarations?
193
- ///
194
171
/// If `inMemberDeclList` is `true`, we know that the next item must be a
195
172
/// declaration and thus start with a keyword. This allows further recovery.
196
173
mutating func parseDeclaration( inMemberDeclList: Bool = false ) -> RawDeclSyntax {
@@ -313,13 +290,6 @@ extension Parser {
313
290
314
291
extension Parser {
315
292
/// Parse an import declaration.
316
- ///
317
- /// Grammar
318
- /// =======
319
- ///
320
- /// import-declaration → attributes? 'import' import-kind? import-path
321
- /// import-kind → 'typealias' | 'struct' | 'class' | 'enum' | 'protocol' | 'let' | 'var' | 'func'
322
- /// import-path → identifier | identifier '.' import-path
323
293
mutating func parseImportDeclaration(
324
294
_ attrs: DeclAttributes ,
325
295
_ handle: RecoveryConsumptionHandle
@@ -363,14 +333,6 @@ extension Parser {
363
333
364
334
extension Parser {
365
335
/// Parse an extension declaration.
366
- ///
367
- /// Grammar
368
- /// =======
369
- ///
370
- /// extension-declaration → attributes? access-level-modifier? 'extension' type-identifier type-inheritance-clause? generic-where-clause?t extension-body
371
- /// extension-body → '{' extension-members? '}'
372
- /// extension-members → extension-member extension-members?
373
- /// extension-member → declaration | compiler-control-statement
374
336
mutating func parseExtensionDeclaration(
375
337
_ attrs: DeclAttributes ,
376
338
_ handle: RecoveryConsumptionHandle
@@ -798,19 +760,6 @@ extension Parser {
798
760
799
761
extension Parser {
800
762
/// Parse an enum 'case' declaration.
801
- ///
802
- /// Grammar
803
- /// =======
804
- ///
805
- /// union-style-enum-case-clause → attributes? 'indirect'? 'case' union-style-enum-case-list
806
- /// union-style-enum-case-list → union-style-enum-case | union-style-enum-case ',' union-style-enum-case-list
807
- /// union-style-enum-case → enum-case-name tuple-type?
808
- ///
809
- /// raw-value-style-enum-case-clause → attributes? 'case' raw-value-style-enum-case-list
810
- /// raw-value-style-enum-case-list → raw-value-style-enum-case | raw-value-style-enum-case ',' raw-value-style-enum-case-list
811
- /// raw-value-style-enum-case → enum-case-name raw-value-assignment?
812
- /// raw-value-assignment → = raw-value-literal
813
- /// raw-value-literal → numeric-literal | static-string-literal | boolean-literal
814
763
mutating func parseEnumCaseDeclaration(
815
764
_ attrs: DeclAttributes ,
816
765
_ handle: RecoveryConsumptionHandle
@@ -872,11 +821,6 @@ extension Parser {
872
821
}
873
822
874
823
/// Parse an associated type declaration.
875
- ///
876
- /// Grammar
877
- /// =======
878
- ///
879
- /// protocol-associated-type-declaration → attributes? access-level-modifier? 'associatedtype' typealias-name type-inheritance-clause? typealias-assignment? generic-where-clause?
880
824
mutating func parseAssociatedTypeDeclaration(
881
825
_ attrs: DeclAttributes ,
882
826
_ handle: RecoveryConsumptionHandle
@@ -956,17 +900,6 @@ extension Parser {
956
900
957
901
extension Parser {
958
902
/// Parse an initializer declaration.
959
- ///
960
- /// Grammar
961
- /// =======
962
- ///
963
- /// initializer-declaration → initializer-head generic-parameter-clause? parameter-clause 'async'? 'throws'? generic-where-clause? initializer-body
964
- /// initializer-declaration → initializer-head generic-parameter-clause? parameter-clause 'async'? 'rethrows' generic-where-clause? initializer-body
965
- ///
966
- /// initializer-head → attributes? declaration-modifiers? 'init'
967
- /// initializer-head → attributes? declaration-modifiers? 'init' '?'
968
- /// initializer-head → attributes? declaration-modifiers? 'init' '!'
969
- /// initializer-body → code-block
970
903
mutating func parseInitializerDeclaration(
971
904
_ attrs: DeclAttributes ,
972
905
_ handle: RecoveryConsumptionHandle
@@ -1017,11 +950,6 @@ extension Parser {
1017
950
}
1018
951
1019
952
/// Parse a deinitializer declaration.
1020
- ///
1021
- /// Grammar
1022
- /// =======
1023
- ///
1024
- /// deinitializer-declaration → attributes? 'deinit' code-block
1025
953
mutating func parseDeinitializerDeclaration(
1026
954
_ attrs: DeclAttributes ,
1027
955
_ handle: RecoveryConsumptionHandle
@@ -1186,15 +1114,6 @@ extension Parser {
1186
1114
1187
1115
extension Parser {
1188
1116
/// Parse a subscript declaration.
1189
- ///
1190
- /// Grammar
1191
- /// =======
1192
- ///
1193
- /// subscript-declaration → subscript-head subscript-result generic-where-clause? code-block
1194
- /// subscript-declaration → subscript-head subscript-result generic-where-clause? getter-setter-block
1195
- /// subscript-declaration → subscript-head subscript-result generic-where-clause? getter-setter-keyword-block
1196
- /// subscript-head → attributes? declaration-modifiers? 'subscript' generic-parameter-clause? parameter-clause
1197
- /// subscript-result → '->' attributes? type
1198
1117
mutating func parseSubscriptDeclaration(
1199
1118
_ attrs: DeclAttributes ,
1200
1119
_ handle: RecoveryConsumptionHandle
@@ -1257,14 +1176,6 @@ extension Parser {
1257
1176
extension Parser {
1258
1177
/// Parse a variable declaration starting with a leading 'let' or 'var' keyword.
1259
1178
///
1260
- /// Grammar
1261
- /// =======
1262
- ///
1263
- /// constant-declaration → attributes? declaration-modifiers? 'let' pattern-initializer-list
1264
- /// pattern-initializer-list → pattern-initializer | pattern-initializer ',' pattern-initializer-list
1265
- /// pattern-initializer → pattern initializer?
1266
- /// initializer → = expression
1267
- ///
1268
1179
/// If `inMemberDeclList` is `true`, we know that the next item needs to be a
1269
1180
/// declaration that is started by a keyword. Thus, we in the following case
1270
1181
/// we know that `set` can't start a new declaration and we can thus recover
@@ -1443,21 +1354,6 @@ extension Parser {
1443
1354
}
1444
1355
1445
1356
/// Parse an accessor once we know we have an introducer
1446
- ///
1447
- /// Grammar
1448
- /// =======
1449
- ///
1450
- /// getter-clause → attributes opt mutation-modifier opt get code-block
1451
- /// setter-clause → attributes opt mutation-modifier opt set setter-name opt code-block
1452
- /// setter-name → ( identifier )
1453
- /// getter-setter-keyword-block → { getter-keyword-clause setter-keyword-clause opt }
1454
- /// getter-setter-keyword-block → { setter-keyword-clause getter-keyword-clause }
1455
- /// getter-keyword-clause → attributes opt mutation-modifier opt get
1456
- /// setter-keyword-clause → attributes opt mutation-modifier opt set
1457
- /// willSet-didSet-block → { willSet-clause didSet-clause opt }
1458
- /// willSet-didSet-block → { didSet-clause willSet-clause opt }
1459
- /// willSet-clause → attributes opt willSet setter-name opt code-block
1460
- /// didSet-clause → attributes opt didSet setter-name opt code-block
1461
1357
private mutating func parseAccessorDecl(
1462
1358
introducer: AccessorIntroducer
1463
1359
) -> RawAccessorDeclSyntax {
@@ -1500,13 +1396,6 @@ extension Parser {
1500
1396
1501
1397
/// Parse the body of a variable declaration. This can include explicit
1502
1398
/// getters, setters, and observers, or the body of a computed property.
1503
- ///
1504
- /// Grammar
1505
- /// =======
1506
- ///
1507
- /// getter-setter-block → code-block
1508
- /// getter-setter-block → { getter-clause setter-clause opt }
1509
- /// getter-setter-block → { setter-clause getter-clause }
1510
1399
mutating func parseGetSet( ) -> RawSubscriptDeclSyntax . Accessors {
1511
1400
// Parse getter and setter.
1512
1401
let unexpectedBeforeLBrace : RawUnexpectedNodesSyntax ?
@@ -1574,13 +1463,6 @@ extension Parser {
1574
1463
1575
1464
extension Parser {
1576
1465
/// Parse a typealias declaration.
1577
- ///
1578
- /// Grammar
1579
- /// =======
1580
- ///
1581
- /// typealias-declaration → attributes? access-level-modifier? 'typealias' typealias-name generic-parameter-clause? typealias-assignment
1582
- /// typealias-name → identifier
1583
- /// typealias-assignment → '=' type
1584
1466
mutating func parseTypealiasDeclaration(
1585
1467
_ attrs: DeclAttributes ,
1586
1468
_ handle: RecoveryConsumptionHandle
@@ -1637,24 +1519,14 @@ extension Parser {
1637
1519
}
1638
1520
1639
1521
extension Parser {
1640
- /// Parse an operator declaration.
1641
- ///
1642
- /// Grammar
1643
- /// =======
1644
- ///
1645
- /// operator-declaration → prefix-operator-declaration | postfix-operator-declaration | infix-operator-declaration
1646
- /// prefix-operator-declaration → 'prefix' 'operator' operator
1647
- /// postfix-operator-declaration → 'postfix' 'operator' operator
1648
- /// infix-operator-declaration → 'infix' 'operator' operator infix-operator-group?
1649
- /// infix-operator-group → ':' precedence-group-name
1650
-
1651
1522
struct OperatorDeclIntroducer {
1652
1523
var unexpectedBeforeFixity : RawUnexpectedNodesSyntax ?
1653
1524
var fixity : RawTokenSyntax
1654
1525
var unexpectedBeforeOperatorKeyword : RawUnexpectedNodesSyntax ?
1655
1526
var operatorKeyword : RawTokenSyntax
1656
1527
}
1657
1528
1529
+ /// Parse an operator declaration.
1658
1530
mutating func parseOperatorDeclIntroducer( _ attrs: DeclAttributes , _ handle: RecoveryConsumptionHandle ) -> OperatorDeclIntroducer {
1659
1531
func isFixity( _ modifier: RawDeclModifierSyntax ) -> Bool {
1660
1532
switch modifier. name {
@@ -1809,28 +1681,6 @@ extension Parser {
1809
1681
}
1810
1682
1811
1683
/// Parse a precedence group declaration.
1812
- ///
1813
- /// Grammar
1814
- /// =======
1815
- ///
1816
- /// precedence-group-declaration → precedencegroup precedence-group-name '{' precedence-group-attributes? '}'
1817
- ///
1818
- /// precedence-group-attributes → precedence-group-attribute precedence-group-attributes?
1819
- /// precedence-group-attribute → precedence-group-relation
1820
- /// precedence-group-attribute → precedence-group-assignment
1821
- /// precedence-group-attribute → precedence-group-associativity
1822
- ///
1823
- /// precedence-group-relation → 'higherThan' ':' precedence-group-names
1824
- /// precedence-group-relation → 'lowerThan' ':' precedence-group-names
1825
- ///
1826
- /// precedence-group-assignment → 'assignment' ':' boolean-literal
1827
- ///
1828
- /// precedence-group-associativity → 'associativity' ':' 'left'
1829
- /// precedence-group-associativity → 'associativity' ':' 'right'
1830
- /// precedence-group-associativity → 'associativity' ':' 'none'
1831
- ///
1832
- /// precedence-group-names → precedence-group-name | precedence-group-name ',' precedence-group-names
1833
- /// precedence-group-name → identifier
1834
1684
mutating func parsePrecedenceGroupDeclaration(
1835
1685
_ attrs: DeclAttributes ,
1836
1686
_ handle: RecoveryConsumptionHandle
@@ -2031,12 +1881,6 @@ extension Parser {
2031
1881
}
2032
1882
2033
1883
/// Parse a macro expansion as a declaration.
2034
- ///
2035
- ///
2036
- /// Grammar
2037
- /// =======
2038
- ///
2039
- /// macro-expansion-declaration → '#' identifier expr-call-suffix?
2040
1884
mutating func parseMacroExpansionDeclaration(
2041
1885
_ attrs: DeclAttributes ,
2042
1886
_ handle: RecoveryConsumptionHandle
0 commit comments