Skip to content

Commit b14b6ba

Browse files
committed
Use AccessorBlockSyntax to represent getter
1 parent 4007f33 commit b14b6ba

File tree

17 files changed

+236
-364
lines changed

17 files changed

+236
-364
lines changed

CodeGeneration/Sources/SyntaxSupport/DeclNodes.swift

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,16 @@ public let DECL_NODES: [Node] = [
5757
),
5858
Child(
5959
name: "Accessors",
60-
kind: .collection(kind: .accessorDeclList, collectionElementName: "Accessor")
60+
kind: .nodeChoices(choices: [
61+
Child(
62+
name: "Accessors",
63+
kind: .collection(kind: .accessorDeclList, collectionElementName: "Accessor")
64+
),
65+
Child(
66+
name: "Getter",
67+
kind: .node(kind: .codeBlockItemList)
68+
),
69+
])
6170
),
6271
Child(
6372
name: "RightBrace",
@@ -1630,18 +1639,9 @@ public let DECL_NODES: [Node] = [
16301639
isOptional: true
16311640
),
16321641
Child(
1633-
name: "Accessors",
1642+
name: "AccessorBlock",
16341643
deprecatedName: "Accessor",
1635-
kind: .nodeChoices(choices: [
1636-
Child(
1637-
name: "Accessors",
1638-
kind: .node(kind: .accessorBlock)
1639-
),
1640-
Child(
1641-
name: "Getter",
1642-
kind: .node(kind: .codeBlock)
1643-
),
1644-
]),
1644+
kind: .node(kind: .accessorBlock),
16451645
isOptional: true
16461646
),
16471647
Child(
@@ -2191,18 +2191,9 @@ public let DECL_NODES: [Node] = [
21912191
isOptional: true
21922192
),
21932193
Child(
2194-
name: "Accessors",
2194+
name: "AccessorBlock",
21952195
deprecatedName: "Accessor",
2196-
kind: .nodeChoices(choices: [
2197-
Child(
2198-
name: "Accessors",
2199-
kind: .node(kind: .accessorBlock)
2200-
),
2201-
Child(
2202-
name: "Getter",
2203-
kind: .node(kind: .codeBlock)
2204-
),
2205-
]),
2196+
kind: .node(kind: .accessorBlock),
22062197
isOptional: true
22072198
),
22082199
]

Sources/SwiftParser/Declarations.swift

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1149,7 +1149,7 @@ extension Parser {
11491149
}
11501150

11511151
// Parse getter and setter.
1152-
let accessor: RawSubscriptDeclSyntax.Accessors?
1152+
let accessor: RawAccessorBlockSyntax?
11531153
if self.at(.leftBrace) || self.at(anyIn: AccessorDeclSyntax.AccessorSpecifierOptions.self) != nil {
11541154
accessor = self.parseGetSet()
11551155
} else {
@@ -1166,7 +1166,7 @@ extension Parser {
11661166
parameterClause: parameterClause,
11671167
returnClause: returnClause,
11681168
genericWhereClause: genericWhereClause,
1169-
accessors: accessor,
1169+
accessorBlock: accessor,
11701170
arena: self.arena
11711171
)
11721172
}
@@ -1263,14 +1263,9 @@ extension Parser {
12631263
initializer = nil
12641264
}
12651265

1266-
let accessors: RawPatternBindingSyntax.Accessors?
1266+
let accessors: RawAccessorBlockSyntax?
12671267
if self.at(.leftBrace) || (inMemberDeclList && self.at(anyIn: AccessorDeclSyntax.AccessorSpecifierOptions.self) != nil && !self.at(.keyword(.`init`))) {
1268-
switch self.parseGetSet() {
1269-
case .accessors(let parsedAccessors):
1270-
accessors = .accessors(parsedAccessors)
1271-
case .getter(let getter):
1272-
accessors = .getter(getter)
1273-
}
1268+
accessors = self.parseGetSet()
12741269
} else {
12751270
accessors = nil
12761271
}
@@ -1281,7 +1276,7 @@ extension Parser {
12811276
pattern: pattern,
12821277
typeAnnotation: typeAnnotation,
12831278
initializer: initializer,
1284-
accessors: accessors,
1279+
accessorBlock: accessors,
12851280
trailingComma: keepGoing,
12861281
arena: self.arena
12871282
)
@@ -1413,7 +1408,7 @@ extension Parser {
14131408

14141409
/// Parse the body of a variable declaration. This can include explicit
14151410
/// getters, setters, and observers, or the body of a computed property.
1416-
mutating func parseGetSet() -> RawSubscriptDeclSyntax.Accessors {
1411+
mutating func parseGetSet() -> RawAccessorBlockSyntax {
14171412
// Parse getter and setter.
14181413
let unexpectedBeforeLBrace: RawUnexpectedNodesSyntax?
14191414
let lbrace: RawTokenSyntax
@@ -1432,28 +1427,24 @@ extension Parser {
14321427
let body = parseCodeBlockItemList(until: { $0.at(.rightBrace) })
14331428

14341429
let (unexpectedBeforeRBrace, rbrace) = self.expect(.rightBrace)
1435-
return .getter(
1436-
RawCodeBlockSyntax(
1437-
unexpectedBeforeLBrace,
1438-
leftBrace: lbrace,
1439-
statements: body,
1440-
unexpectedBeforeRBrace,
1441-
rightBrace: rbrace,
1442-
arena: self.arena
1443-
)
1444-
)
1445-
}
1446-
1447-
let (unexpectedBeforeRBrace, rbrace) = self.expect(.rightBrace)
1448-
return .accessors(
1449-
RawAccessorBlockSyntax(
1430+
return RawAccessorBlockSyntax(
14501431
unexpectedBeforeLBrace,
14511432
leftBrace: lbrace,
1452-
accessors: accessorList,
1433+
accessors: .getter(body),
14531434
unexpectedBeforeRBrace,
14541435
rightBrace: rbrace,
14551436
arena: self.arena
14561437
)
1438+
}
1439+
1440+
let (unexpectedBeforeRBrace, rbrace) = self.expect(.rightBrace)
1441+
return RawAccessorBlockSyntax(
1442+
unexpectedBeforeLBrace,
1443+
leftBrace: lbrace,
1444+
accessors: .accessors(accessorList),
1445+
unexpectedBeforeRBrace,
1446+
rightBrace: rbrace,
1447+
arena: self.arena
14571448
)
14581449
}
14591450
}

Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,16 +77,6 @@ extension IdentifiedDeclSyntax where Self: NamedDeclSyntax {
7777
}
7878
}
7979

80-
extension PatternBindingSyntax {
81-
@available(*, deprecated, renamed: "Accessors")
82-
public typealias Accessor = Accessors
83-
}
84-
85-
extension SubscriptDeclSyntax {
86-
@available(*, deprecated, renamed: "Accessors")
87-
public typealias Accessor = Accessors
88-
}
89-
9080
public extension SyntaxProtocol {
9181
@available(*, deprecated, message: "Use detached computed property instead.")
9282
func detach() -> Self {

Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2443,12 +2443,12 @@ public func childName(_ keyPath: AnyKeyPath) -> String? {
24432443
return "unexpectedBetweenTypeAnnotationAndInitializer"
24442444
case \PatternBindingSyntax.initializer:
24452445
return "initializer"
2446-
case \PatternBindingSyntax.unexpectedBetweenInitializerAndAccessors:
2447-
return "unexpectedBetweenInitializerAndAccessors"
2448-
case \PatternBindingSyntax.accessors:
2449-
return "accessors"
2450-
case \PatternBindingSyntax.unexpectedBetweenAccessorsAndTrailingComma:
2451-
return "unexpectedBetweenAccessorsAndTrailingComma"
2446+
case \PatternBindingSyntax.unexpectedBetweenInitializerAndAccessorBlock:
2447+
return "unexpectedBetweenInitializerAndAccessorBlock"
2448+
case \PatternBindingSyntax.accessorBlock:
2449+
return "accessorBlock"
2450+
case \PatternBindingSyntax.unexpectedBetweenAccessorBlockAndTrailingComma:
2451+
return "unexpectedBetweenAccessorBlockAndTrailingComma"
24522452
case \PatternBindingSyntax.trailingComma:
24532453
return "trailingComma"
24542454
case \PatternBindingSyntax.unexpectedAfterTrailingComma:
@@ -2967,12 +2967,12 @@ public func childName(_ keyPath: AnyKeyPath) -> String? {
29672967
return "unexpectedBetweenReturnClauseAndGenericWhereClause"
29682968
case \SubscriptDeclSyntax.genericWhereClause:
29692969
return "genericWhereClause"
2970-
case \SubscriptDeclSyntax.unexpectedBetweenGenericWhereClauseAndAccessors:
2971-
return "unexpectedBetweenGenericWhereClauseAndAccessors"
2972-
case \SubscriptDeclSyntax.accessors:
2973-
return "accessors"
2974-
case \SubscriptDeclSyntax.unexpectedAfterAccessors:
2975-
return "unexpectedAfterAccessors"
2970+
case \SubscriptDeclSyntax.unexpectedBetweenGenericWhereClauseAndAccessorBlock:
2971+
return "unexpectedBetweenGenericWhereClauseAndAccessorBlock"
2972+
case \SubscriptDeclSyntax.accessorBlock:
2973+
return "accessorBlock"
2974+
case \SubscriptDeclSyntax.unexpectedAfterAccessorBlock:
2975+
return "unexpectedAfterAccessorBlock"
29762976
case \SuperExprSyntax.unexpectedBeforeSuperKeyword:
29772977
return "unexpectedBeforeSuperKeyword"
29782978
case \SuperExprSyntax.superKeyword:

Sources/SwiftSyntax/generated/RenamedChildrenCompatibility.swift

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5650,37 +5650,37 @@ extension PackExpansionTypeSyntax {
56505650
}
56515651

56525652
extension PatternBindingSyntax {
5653-
@available(*, deprecated, renamed: "unexpectedBetweenInitializerAndAccessors")
5653+
@available(*, deprecated, renamed: "unexpectedBetweenInitializerAndAccessorBlock")
56545654
public var unexpectedBetweenInitializerAndAccessor: UnexpectedNodesSyntax? {
56555655
get {
5656-
return unexpectedBetweenInitializerAndAccessors
5656+
return unexpectedBetweenInitializerAndAccessorBlock
56575657
}
56585658
set {
5659-
unexpectedBetweenInitializerAndAccessors = newValue
5659+
unexpectedBetweenInitializerAndAccessorBlock = newValue
56605660
}
56615661
}
56625662

5663-
@available(*, deprecated, renamed: "accessors")
5664-
public var accessor: Accessors? {
5663+
@available(*, deprecated, renamed: "accessorBlock")
5664+
public var accessor: AccessorBlockSyntax? {
56655665
get {
5666-
return accessors
5666+
return accessorBlock
56675667
}
56685668
set {
5669-
accessors = newValue
5669+
accessorBlock = newValue
56705670
}
56715671
}
56725672

5673-
@available(*, deprecated, renamed: "unexpectedBetweenAccessorsAndTrailingComma")
5673+
@available(*, deprecated, renamed: "unexpectedBetweenAccessorBlockAndTrailingComma")
56745674
public var unexpectedBetweenAccessorAndTrailingComma: UnexpectedNodesSyntax? {
56755675
get {
5676-
return unexpectedBetweenAccessorsAndTrailingComma
5676+
return unexpectedBetweenAccessorBlockAndTrailingComma
56775677
}
56785678
set {
5679-
unexpectedBetweenAccessorsAndTrailingComma = newValue
5679+
unexpectedBetweenAccessorBlockAndTrailingComma = newValue
56805680
}
56815681
}
56825682

5683-
@available(*, deprecated, message: "Use an initializer with accessors argument(s).")
5683+
@available(*, deprecated, message: "Use an initializer with accessorBlock argument(s).")
56845684
@_disfavoredOverload
56855685
public init(
56865686
leadingTrivia: Trivia? = nil,
@@ -5691,7 +5691,7 @@ extension PatternBindingSyntax {
56915691
_ unexpectedBetweenTypeAnnotationAndInitializer: UnexpectedNodesSyntax? = nil,
56925692
initializer: InitializerClauseSyntax? = nil,
56935693
_ unexpectedBetweenInitializerAndAccessor: UnexpectedNodesSyntax? = nil,
5694-
accessor: Accessors? = nil,
5694+
accessor: AccessorBlockSyntax? = nil,
56955695
_ unexpectedBetweenAccessorAndTrailingComma: UnexpectedNodesSyntax? = nil,
56965696
trailingComma: TokenSyntax? = nil,
56975697
_ unexpectedAfterTrailingComma: UnexpectedNodesSyntax? = nil,
@@ -5707,7 +5707,7 @@ extension PatternBindingSyntax {
57075707
unexpectedBetweenTypeAnnotationAndInitializer,
57085708
initializer: initializer,
57095709
unexpectedBetweenInitializerAndAccessor,
5710-
accessors: accessor,
5710+
accessorBlock: accessor,
57115711
unexpectedBetweenAccessorAndTrailingComma,
57125712
trailingComma: trailingComma,
57135713
unexpectedAfterTrailingComma,
@@ -7547,37 +7547,37 @@ extension SubscriptDeclSyntax {
75477547
}
75487548
}
75497549

7550-
@available(*, deprecated, renamed: "unexpectedBetweenGenericWhereClauseAndAccessors")
7550+
@available(*, deprecated, renamed: "unexpectedBetweenGenericWhereClauseAndAccessorBlock")
75517551
public var unexpectedBetweenGenericWhereClauseAndAccessor: UnexpectedNodesSyntax? {
75527552
get {
7553-
return unexpectedBetweenGenericWhereClauseAndAccessors
7553+
return unexpectedBetweenGenericWhereClauseAndAccessorBlock
75547554
}
75557555
set {
7556-
unexpectedBetweenGenericWhereClauseAndAccessors = newValue
7556+
unexpectedBetweenGenericWhereClauseAndAccessorBlock = newValue
75577557
}
75587558
}
75597559

7560-
@available(*, deprecated, renamed: "accessors")
7561-
public var accessor: Accessors? {
7560+
@available(*, deprecated, renamed: "accessorBlock")
7561+
public var accessor: AccessorBlockSyntax? {
75627562
get {
7563-
return accessors
7563+
return accessorBlock
75647564
}
75657565
set {
7566-
accessors = newValue
7566+
accessorBlock = newValue
75677567
}
75687568
}
75697569

7570-
@available(*, deprecated, renamed: "unexpectedAfterAccessors")
7570+
@available(*, deprecated, renamed: "unexpectedAfterAccessorBlock")
75717571
public var unexpectedAfterAccessor: UnexpectedNodesSyntax? {
75727572
get {
7573-
return unexpectedAfterAccessors
7573+
return unexpectedAfterAccessorBlock
75747574
}
75757575
set {
7576-
unexpectedAfterAccessors = newValue
7576+
unexpectedAfterAccessorBlock = newValue
75777577
}
75787578
}
75797579

7580-
@available(*, deprecated, message: "Use an initializer with parameterClause, returnClause, accessors argument(s).")
7580+
@available(*, deprecated, message: "Use an initializer with parameterClause, returnClause, accessorBlock argument(s).")
75817581
@_disfavoredOverload
75827582
public init(
75837583
leadingTrivia: Trivia? = nil,
@@ -7596,7 +7596,7 @@ extension SubscriptDeclSyntax {
75967596
_ unexpectedBetweenResultAndGenericWhereClause: UnexpectedNodesSyntax? = nil,
75977597
genericWhereClause: GenericWhereClauseSyntax? = nil,
75987598
_ unexpectedBetweenGenericWhereClauseAndAccessor: UnexpectedNodesSyntax? = nil,
7599-
accessor: Accessors? = nil,
7599+
accessor: AccessorBlockSyntax? = nil,
76007600
_ unexpectedAfterAccessor: UnexpectedNodesSyntax? = nil,
76017601
trailingTrivia: Trivia? = nil
76027602

@@ -7618,7 +7618,7 @@ extension SubscriptDeclSyntax {
76187618
unexpectedBetweenResultAndGenericWhereClause,
76197619
genericWhereClause: genericWhereClause,
76207620
unexpectedBetweenGenericWhereClauseAndAccessor,
7621-
accessors: accessor,
7621+
accessorBlock: accessor,
76227622
unexpectedAfterAccessor,
76237623
trailingTrivia: trailingTrivia
76247624
)

Sources/SwiftSyntax/generated/SyntaxCollections.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,7 @@ public struct ClosureShorthandParameterListSyntax: SyntaxCollection, SyntaxHasha
286286
///
287287
/// ### Contained in
288288
///
289+
/// - ``AccessorBlockSyntax``.``AccessorBlockSyntax/accessors``
289290
/// - ``ClosureExprSyntax``.``ClosureExprSyntax/statements``
290291
/// - ``CodeBlockSyntax``.``CodeBlockSyntax/statements``
291292
/// - ``IfConfigClauseSyntax``.``IfConfigClauseSyntax/elements``

0 commit comments

Comments
 (0)