Skip to content

Commit eb0afd3

Browse files
committed
Remove nodes for accessor init effects
The language feature was removed before it got accepted. We don’t need syntax nodes for it.
1 parent 60e41b0 commit eb0afd3

25 files changed

+26
-1664
lines changed

CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -65,76 +65,6 @@ public let DECL_NODES: [Node] = [
6565
]
6666
),
6767

68-
Node(
69-
kind: .accessesEffect,
70-
base: .syntax,
71-
nameForDiagnostics: "accesses effect",
72-
children: [
73-
Child(
74-
name: "AccessesKeyword",
75-
kind: .token(choices: [.keyword(text: "accesses")])
76-
),
77-
Child(
78-
name: "LeftParen",
79-
kind: .token(choices: [.token(tokenKind: "LeftParenToken")])
80-
),
81-
Child(
82-
name: "Properties",
83-
deprecatedName: "PropertyList",
84-
kind: .collection(kind: .labeledExprList, collectionElementName: "Property"),
85-
nameForDiagnostics: "properties"
86-
),
87-
Child(
88-
name: "RightParen",
89-
kind: .token(choices: [.token(tokenKind: "RightParenToken")])
90-
),
91-
]
92-
),
93-
94-
Node(
95-
kind: .initializesEffect,
96-
base: .syntax,
97-
nameForDiagnostics: "initializes effect",
98-
children: [
99-
Child(
100-
name: "InitializesKeyword",
101-
kind: .token(choices: [.keyword(text: "initializes")])
102-
),
103-
Child(
104-
name: "LeftParen",
105-
kind: .token(choices: [.token(tokenKind: "LeftParenToken")])
106-
),
107-
Child(
108-
name: "Properties",
109-
deprecatedName: "PropertyList",
110-
kind: .collection(kind: .labeledExprList, collectionElementName: "Property"),
111-
nameForDiagnostics: "properties"
112-
),
113-
Child(
114-
name: "RightParen",
115-
kind: .token(choices: [.token(tokenKind: "RightParenToken")])
116-
),
117-
]
118-
),
119-
120-
Node(
121-
kind: .accessorInitEffects,
122-
base: .syntax,
123-
nameForDiagnostics: "init accessor effects",
124-
children: [
125-
Child(
126-
name: "InitializesEffect",
127-
kind: .node(kind: .initializesEffect),
128-
isOptional: true
129-
),
130-
Child(
131-
name: "AccessesEffect",
132-
kind: .node(kind: .accessesEffect),
133-
isOptional: true
134-
),
135-
]
136-
),
137-
13868
Node(
13969
kind: .accessorDecl,
14070
base: .decl,
@@ -185,11 +115,6 @@ public let DECL_NODES: [Node] = [
185115
kind: .node(kind: .accessorEffectSpecifiers),
186116
isOptional: true
187117
),
188-
Child(
189-
name: "InitEffects",
190-
kind: .node(kind: .accessorInitEffects),
191-
isOptional: true
192-
),
193118
Child(
194119
name: "Body",
195120
kind: .node(kind: .codeBlock),

CodeGeneration/Sources/SyntaxSupport/SyntaxNodeKind.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,10 @@ import SwiftSyntaxBuilder
2020
public enum SyntaxNodeKind: String, CaseIterable {
2121
// Please keep this list sorted alphabetically
2222

23-
case accessesEffect
2423
case accessorBlock
2524
case accessorDecl
2625
case accessorDeclList
2726
case accessorEffectSpecifiers
28-
case accessorInitEffects
2927
case accessorParameters
3028
case actorDecl
3129
case arrayElement
@@ -169,7 +167,6 @@ public enum SyntaxNodeKind: String, CaseIterable {
169167
case inheritedTypeList
170168
case initializerClause
171169
case initializerDecl
172-
case initializesEffect
173170
case inOutExpr
174171
case integerLiteralExpr
175172
case isExpr

CodeGeneration/Tests/ValidateSyntaxNodes/ValidateSyntaxNodes.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,6 @@ class ValidateSyntaxNodes: XCTestCase {
524524
assertFailuresMatchXFails(
525525
failures,
526526
expectedFailures: [
527-
ValidationFailure(node: .accessesEffect, message: "could conform to trait 'Parenthesized' but does not"),
528527
ValidationFailure(node: .accessorParameters, message: "could conform to trait 'NamedDecl' but does not"),
529528
ValidationFailure(node: .availabilityCondition, message: "could conform to trait 'Parenthesized' but does not"),
530529
ValidationFailure(node: .canImportExpr, message: "could conform to trait 'Parenthesized' but does not"),
@@ -533,7 +532,6 @@ class ValidateSyntaxNodes: XCTestCase {
533532
ValidationFailure(node: .editorPlaceholderExpr, message: "could conform to trait 'MissingNode' but does not"),
534533
ValidationFailure(node: .enumCaseElement, message: "could conform to trait 'NamedDecl' but does not"),
535534
ValidationFailure(node: .genericParameter, message: "could conform to trait 'NamedDecl' but does not"),
536-
ValidationFailure(node: .initializesEffect, message: "could conform to trait 'Parenthesized' but does not"),
537535
ValidationFailure(node: .precedenceGroupDecl, message: "could conform to trait 'Braced' but does not"),
538536
ValidationFailure(node: .precedenceGroupName, message: "could conform to trait 'NamedDecl' but does not"),
539537
ValidationFailure(node: .primaryAssociatedType, message: "could conform to trait 'NamedDecl' but does not"),

Sources/SwiftParser/Declarations.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,7 +1378,6 @@ extension Parser {
13781378
}
13791379

13801380
let effectSpecifiers = self.parseAccessorEffectSpecifiers()
1381-
let initEffects = self.parseInitAccessorEffects()
13821381

13831382
let body = self.parseOptionalCodeBlock()
13841383
return RawAccessorDeclSyntax(
@@ -1388,7 +1387,6 @@ extension Parser {
13881387
accessorSpecifier: introducer.token,
13891388
parameters: parameters,
13901389
effectSpecifiers: effectSpecifiers,
1391-
initEffects: initEffects,
13921390
body: body,
13931391
arena: self.arena
13941392
)

Sources/SwiftParser/Specifiers.swift

Lines changed: 0 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -756,74 +756,3 @@ extension Parser {
756756
return RawUnexpectedNodesSyntax(unexpected, arena: self.arena)
757757
}
758758
}
759-
760-
// MARK: - Parsing `initializes` and `accesses` specifiers in init accessors
761-
762-
extension Parser {
763-
mutating func parseInitAccessorEffects() -> RawAccessorInitEffectsSyntax? {
764-
let initializes = self.parseInitializesSpecifier()
765-
let accesses = self.parseAccessesSpecifier()
766-
767-
if initializes == nil, accesses == nil {
768-
return nil
769-
}
770-
771-
return RawAccessorInitEffectsSyntax(
772-
initializesEffect: initializes,
773-
accessesEffect: accesses,
774-
arena: self.arena
775-
)
776-
}
777-
778-
mutating func parseInitializesSpecifier() -> RawInitializesEffectSyntax? {
779-
guard let keyword = self.consume(if: .keyword(.initializes)) else {
780-
return nil
781-
}
782-
783-
let (unexpectedBeforeLeftParen, leftParen) = self.expect(.leftParen)
784-
785-
let args = parseArgumentListElements(pattern: .none)
786-
let argumentList = RawLabeledExprListSyntax(
787-
elements: args,
788-
arena: self.arena
789-
)
790-
791-
let (unexpectedBeforeRightParen, rightParen) = self.expect(.rightParen)
792-
793-
return RawInitializesEffectSyntax(
794-
initializesKeyword: keyword,
795-
unexpectedBeforeLeftParen,
796-
leftParen: leftParen,
797-
properties: argumentList,
798-
unexpectedBeforeRightParen,
799-
rightParen: rightParen,
800-
arena: self.arena
801-
)
802-
}
803-
804-
mutating func parseAccessesSpecifier() -> RawAccessesEffectSyntax? {
805-
guard let keyword = self.consume(if: .keyword(.accesses)) else {
806-
return nil
807-
}
808-
809-
let (unexpectedBeforeLeftParen, leftParen) = self.expect(.leftParen)
810-
811-
let args = parseArgumentListElements(pattern: .none)
812-
let argumentList = RawLabeledExprListSyntax(
813-
elements: args,
814-
arena: self.arena
815-
)
816-
817-
let (unexpectedBeforeRightParen, rightParen) = self.expect(.rightParen)
818-
819-
return RawAccessesEffectSyntax(
820-
accessesKeyword: keyword,
821-
unexpectedBeforeLeftParen,
822-
leftParen: leftParen,
823-
properties: argumentList,
824-
unexpectedBeforeRightParen,
825-
rightParen: rightParen,
826-
arena: self.arena
827-
)
828-
}
829-
}

Sources/SwiftParserDiagnostics/generated/ChildNameForDiagnostics.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ import SwiftSyntax
1616

1717
private func childNameForDiagnostics(_ keyPath: AnyKeyPath) -> String? {
1818
switch keyPath {
19-
case \AccessesEffectSyntax.properties:
20-
return "properties"
2119
case \AccessorDeclSyntax.attributes:
2220
return "attributes"
2321
case \AccessorDeclSyntax.modifier:
@@ -206,8 +204,6 @@ private func childNameForDiagnostics(_ keyPath: AnyKeyPath) -> String? {
206204
return "function signature"
207205
case \InitializerDeclSyntax.genericWhereClause:
208206
return "generic where clause"
209-
case \InitializesEffectSyntax.properties:
210-
return "properties"
211207
case \KeyPathExprSyntax.root:
212208
return "root"
213209
case \KeyPathSubscriptComponentSyntax.arguments:

Sources/SwiftParserDiagnostics/generated/SyntaxKindNameForDiagnostics.swift

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,10 @@ extension SyntaxKind {
1919
switch self {
2020
case .token:
2121
return "token"
22-
case .accessesEffect:
23-
return "accesses effect"
2422
case .accessorDecl:
2523
return "accessor"
2624
case .accessorEffectSpecifiers:
2725
return "accessor specifiers"
28-
case .accessorInitEffects:
29-
return "init accessor effects"
3026
case .actorDecl:
3127
return "actor"
3228
case .arrayElement:
@@ -229,8 +225,6 @@ extension SyntaxKind {
229225
return "inherited type"
230226
case .initializerDecl:
231227
return "initializer"
232-
case .initializesEffect:
233-
return "initializes effect"
234228
case .integerLiteralExpr:
235229
return "integer literal"
236230
case .isExpr:

Sources/SwiftSyntax/Documentation.docc/generated/SwiftSyntax.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,10 +305,8 @@ These articles are intended for developers wishing to contribute to SwiftSyntax
305305

306306
### Miscellaneous Syntax
307307

308-
- <doc:SwiftSyntax/AccessesEffectSyntax>
309308
- <doc:SwiftSyntax/AccessorBlockSyntax>
310309
- <doc:SwiftSyntax/AccessorEffectSpecifiersSyntax>
311-
- <doc:SwiftSyntax/AccessorInitEffectsSyntax>
312310
- <doc:SwiftSyntax/AccessorParametersSyntax>
313311
- <doc:SwiftSyntax/AvailabilityConditionSyntax>
314312
- <doc:SwiftSyntax/AvailabilityLabeledArgumentSyntax>
@@ -340,7 +338,6 @@ These articles are intended for developers wishing to contribute to SwiftSyntax
340338
- <doc:SwiftSyntax/ImplementsAttributeArgumentsSyntax>
341339
- <doc:SwiftSyntax/InheritanceClauseSyntax>
342340
- <doc:SwiftSyntax/InitializerClauseSyntax>
343-
- <doc:SwiftSyntax/InitializesEffectSyntax>
344341
- <doc:SwiftSyntax/KeyPathOptionalComponentSyntax>
345342
- <doc:SwiftSyntax/KeyPathPropertyComponentSyntax>
346343
- <doc:SwiftSyntax/KeyPathSubscriptComponentSyntax>

Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift

Lines changed: 2 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,6 @@
1717
@_spi(RawSyntax)
1818
public func childName(_ keyPath: AnyKeyPath) -> String? {
1919
switch keyPath {
20-
case \AccessesEffectSyntax.unexpectedBeforeAccessesKeyword:
21-
return "unexpectedBeforeAccessesKeyword"
22-
case \AccessesEffectSyntax.accessesKeyword:
23-
return "accessesKeyword"
24-
case \AccessesEffectSyntax.unexpectedBetweenAccessesKeywordAndLeftParen:
25-
return "unexpectedBetweenAccessesKeywordAndLeftParen"
26-
case \AccessesEffectSyntax.leftParen:
27-
return "leftParen"
28-
case \AccessesEffectSyntax.unexpectedBetweenLeftParenAndProperties:
29-
return "unexpectedBetweenLeftParenAndProperties"
30-
case \AccessesEffectSyntax.properties:
31-
return "properties"
32-
case \AccessesEffectSyntax.unexpectedBetweenPropertiesAndRightParen:
33-
return "unexpectedBetweenPropertiesAndRightParen"
34-
case \AccessesEffectSyntax.rightParen:
35-
return "rightParen"
36-
case \AccessesEffectSyntax.unexpectedAfterRightParen:
37-
return "unexpectedAfterRightParen"
3820
case \AccessorBlockSyntax.unexpectedBeforeLeftBrace:
3921
return "unexpectedBeforeLeftBrace"
4022
case \AccessorBlockSyntax.leftBrace:
@@ -69,12 +51,8 @@ public func childName(_ keyPath: AnyKeyPath) -> String? {
6951
return "unexpectedBetweenParametersAndEffectSpecifiers"
7052
case \AccessorDeclSyntax.effectSpecifiers:
7153
return "effectSpecifiers"
72-
case \AccessorDeclSyntax.unexpectedBetweenEffectSpecifiersAndInitEffects:
73-
return "unexpectedBetweenEffectSpecifiersAndInitEffects"
74-
case \AccessorDeclSyntax.initEffects:
75-
return "initEffects"
76-
case \AccessorDeclSyntax.unexpectedBetweenInitEffectsAndBody:
77-
return "unexpectedBetweenInitEffectsAndBody"
54+
case \AccessorDeclSyntax.unexpectedBetweenEffectSpecifiersAndBody:
55+
return "unexpectedBetweenEffectSpecifiersAndBody"
7856
case \AccessorDeclSyntax.body:
7957
return "body"
8058
case \AccessorDeclSyntax.unexpectedAfterBody:
@@ -89,16 +67,6 @@ public func childName(_ keyPath: AnyKeyPath) -> String? {
8967
return "throwsSpecifier"
9068
case \AccessorEffectSpecifiersSyntax.unexpectedAfterThrowsSpecifier:
9169
return "unexpectedAfterThrowsSpecifier"
92-
case \AccessorInitEffectsSyntax.unexpectedBeforeInitializesEffect:
93-
return "unexpectedBeforeInitializesEffect"
94-
case \AccessorInitEffectsSyntax.initializesEffect:
95-
return "initializesEffect"
96-
case \AccessorInitEffectsSyntax.unexpectedBetweenInitializesEffectAndAccessesEffect:
97-
return "unexpectedBetweenInitializesEffectAndAccessesEffect"
98-
case \AccessorInitEffectsSyntax.accessesEffect:
99-
return "accessesEffect"
100-
case \AccessorInitEffectsSyntax.unexpectedAfterAccessesEffect:
101-
return "unexpectedAfterAccessesEffect"
10270
case \AccessorParametersSyntax.unexpectedBeforeLeftParen:
10371
return "unexpectedBeforeLeftParen"
10472
case \AccessorParametersSyntax.leftParen:
@@ -1859,24 +1827,6 @@ public func childName(_ keyPath: AnyKeyPath) -> String? {
18591827
return "body"
18601828
case \InitializerDeclSyntax.unexpectedAfterBody:
18611829
return "unexpectedAfterBody"
1862-
case \InitializesEffectSyntax.unexpectedBeforeInitializesKeyword:
1863-
return "unexpectedBeforeInitializesKeyword"
1864-
case \InitializesEffectSyntax.initializesKeyword:
1865-
return "initializesKeyword"
1866-
case \InitializesEffectSyntax.unexpectedBetweenInitializesKeywordAndLeftParen:
1867-
return "unexpectedBetweenInitializesKeywordAndLeftParen"
1868-
case \InitializesEffectSyntax.leftParen:
1869-
return "leftParen"
1870-
case \InitializesEffectSyntax.unexpectedBetweenLeftParenAndProperties:
1871-
return "unexpectedBetweenLeftParenAndProperties"
1872-
case \InitializesEffectSyntax.properties:
1873-
return "properties"
1874-
case \InitializesEffectSyntax.unexpectedBetweenPropertiesAndRightParen:
1875-
return "unexpectedBetweenPropertiesAndRightParen"
1876-
case \InitializesEffectSyntax.rightParen:
1877-
return "rightParen"
1878-
case \InitializesEffectSyntax.unexpectedAfterRightParen:
1879-
return "unexpectedAfterRightParen"
18801830
case \IntegerLiteralExprSyntax.unexpectedBeforeLiteral:
18811831
return "unexpectedBeforeLiteral"
18821832
case \IntegerLiteralExprSyntax.literal:

0 commit comments

Comments
 (0)