Skip to content

Commit abc705f

Browse files
committed
Add deprecated signatures to SwiftSyntaxCompatibility.swift. Adjust release notes.
1 parent d5bbac9 commit abc705f

File tree

3 files changed

+188
-36
lines changed

3 files changed

+188
-36
lines changed

Release Notes/601.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@
1414
- `Error` protocol now has an `asDiagnostics(at:)` method.
1515
- Description: This method translates an error into one or more diagnostics, recognizing `DiagnosticsError` and `DiagnosticMessage` instances or providing its own `Diagnostic` as needed.
1616
- Pull Request: https://github.com/swiftlang/swift-syntax/pull/1816
17-
18-
- `ClosureCaptureSyntax` now has a new node structure.
19-
- Description: `ClosureCaptureSyntax` now has an `initializer` property instead of `equal` and `expression`. Additionally, the `name` property is no longer optional.
20-
- Pull request: https://github.com/swiftlang/swift-syntax/pull/2763
2117

2218
## API Behavior Changes
2319

@@ -33,7 +29,7 @@
3329
- Pull request: https://github.com/apple/swift-syntax/pull/2604
3430

3531
- `ClosureCaptureSyntax.init(leadingTrivia:specifier:name:equal:expression:trailingComma:trailingTrivia:)` deprecated in favor of a new `ClosureCaptureSyntax.init(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:)` initializer.
36-
- Description: The change is due to a new `ClosureCaptureSyntax` node structure.
32+
- Description: `ClosureCaptureSyntax` now has an `initializer` property instead of `equal` and `expression`. Additionally, the `name` property is no longer optional.
3733
- Pull request: https://github.com/swiftlang/swift-syntax/pull/2763
3834

3935
## API-Incompatible Changes
@@ -42,6 +38,10 @@
4238
- Description: Allows retrieving the radix value from the `literal.text`.
4339
- Issue: https://github.com/apple/swift-syntax/issues/405
4440
- Pull Request: https://github.com/apple/swift-syntax/pull/2605
41+
42+
- `ClosureCaptureSyntax.name` is no longer optional.
43+
- Description: Due to the new `ClosureCaptureSyntax` node structure, `name` property is non-optional.
44+
- Pull request: https://github.com/swiftlang/swift-syntax/pull/2763
4545

4646
## Template
4747

Sources/SwiftSyntax/Convenience.swift

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -10,37 +10,6 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
extension ClosureCaptureSyntax {
14-
15-
/// Creates a ``ClosureCaptureSyntax`` with a `name`, and automatically adds an `equal` token to it since the name is non-optional.
16-
///
17-
/// - SeeAlso: ``ClosureCaptureSyntax/init(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:)``.
18-
///
19-
@available(
20-
*,
21-
deprecated,
22-
message: "Use 'init(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:)' instead"
23-
)
24-
public init(
25-
leadingTrivia: Trivia? = nil,
26-
specifier: ClosureCaptureSpecifierSyntax? = nil,
27-
name: TokenSyntax,
28-
equal: TokenSyntax = TokenSyntax.equalToken(),
29-
expression: some ExprSyntaxProtocol,
30-
trailingComma: TokenSyntax? = nil,
31-
trailingTrivia: Trivia? = nil
32-
) {
33-
self.init(
34-
leadingTrivia: leadingTrivia,
35-
specifier: specifier,
36-
name: name,
37-
initializer: InitializerClauseSyntax(equal: equal, value: expression),
38-
trailingComma: trailingComma,
39-
trailingTrivia: trailingTrivia
40-
)
41-
}
42-
}
43-
4413
extension EnumCaseParameterSyntax {
4514

4615
/// Creates an ``EnumCaseParameterSyntax`` with a `firstName`, and automatically adds a `colon` to it.

Sources/SwiftSyntax/SwiftSyntaxCompatibility.swift

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,189 @@ extension DeclGroupSyntax {
144144
}
145145
}
146146

147+
extension ClosureCaptureSyntax {
148+
@available(*, deprecated, renamed: "unexpectedBetweenNameAndInitializer")
149+
public var unexpectedBetweenNameAndAssignToken: UnexpectedNodesSyntax? {
150+
get {
151+
return unexpectedBetweenNameAndInitializer
152+
}
153+
set {
154+
unexpectedBetweenNameAndInitializer = newValue
155+
}
156+
}
157+
158+
@available(*, deprecated, renamed: "initializer.equal")
159+
public var assignToken: TokenSyntax? {
160+
get {
161+
return initializer?.equal
162+
}
163+
set {
164+
initializer?.equal = newValue ?? .equalToken(presence: .missing)
165+
}
166+
}
167+
168+
@available(*, deprecated, renamed: "initializer.unexpectedBetweenEqualAndValue")
169+
public var unexpectedBetweenAssignTokenAndExpression: UnexpectedNodesSyntax? {
170+
get {
171+
return initializer?.unexpectedBetweenEqualAndValue
172+
}
173+
set {
174+
initializer?.unexpectedBetweenEqualAndValue = newValue
175+
}
176+
}
177+
178+
@available(*, deprecated, renamed: "ClosureCaptureSyntax(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:)")
179+
@_disfavoredOverload
180+
public init(
181+
leadingTrivia: Trivia? = nil,
182+
_ unexpectedBeforeSpecifier: UnexpectedNodesSyntax? = nil,
183+
specifier: ClosureCaptureSpecifierSyntax? = nil,
184+
_ unexpectedBetweenSpecifierAndName: UnexpectedNodesSyntax? = nil,
185+
name: TokenSyntax? = nil,
186+
_ unexpectedBetweenNameAndAssignToken: UnexpectedNodesSyntax? = nil,
187+
assignToken: TokenSyntax? = nil,
188+
_ unexpectedBetweenAssignTokenAndExpression: UnexpectedNodesSyntax? = nil,
189+
expression: some ExprSyntaxProtocol,
190+
_ unexpectedBetweenExpressionAndTrailingComma: UnexpectedNodesSyntax? = nil,
191+
trailingComma: TokenSyntax? = nil,
192+
_ unexpectedAfterTrailingComma: UnexpectedNodesSyntax? = nil,
193+
trailingTrivia: Trivia? = nil
194+
195+
) {
196+
self.init(
197+
leadingTrivia: leadingTrivia,
198+
unexpectedBeforeSpecifier,
199+
specifier: specifier,
200+
unexpectedBetweenSpecifierAndName,
201+
name: name ?? .identifier("", presence: .missing),
202+
unexpectedBetweenNameAndAssignToken,
203+
initializer: InitializerClauseSyntax(
204+
equal: assignToken ?? .equalToken(presence: .missing),
205+
unexpectedBetweenAssignTokenAndExpression,
206+
value: expression
207+
),
208+
unexpectedBetweenExpressionAndTrailingComma,
209+
trailingComma: trailingComma,
210+
unexpectedAfterTrailingComma,
211+
trailingTrivia: trailingTrivia
212+
)
213+
}
214+
215+
/// Creates a ``ClosureCaptureSyntax`` with a `name`, and automatically adds an `equal` token to it since the name is non-optional.
216+
///
217+
/// - SeeAlso: ``ClosureCaptureSyntax/init(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:)``.
218+
///
219+
@available(
220+
*,
221+
deprecated,
222+
message: "Use 'init(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:)' instead"
223+
)
224+
public init(
225+
leadingTrivia: Trivia? = nil,
226+
specifier: ClosureCaptureSpecifierSyntax? = nil,
227+
name: TokenSyntax,
228+
equal: TokenSyntax = TokenSyntax.equalToken(),
229+
expression: some ExprSyntaxProtocol,
230+
trailingComma: TokenSyntax? = nil,
231+
trailingTrivia: Trivia? = nil
232+
) {
233+
self.init(
234+
leadingTrivia: leadingTrivia,
235+
specifier: specifier,
236+
name: name,
237+
initializer: InitializerClauseSyntax(equal: equal, value: expression),
238+
trailingComma: trailingComma,
239+
trailingTrivia: trailingTrivia
240+
)
241+
}
242+
243+
@available(*, deprecated, renamed: "unexpectedBetweenNameAndInitializer")
244+
public var unexpectedBetweenNameAndEqual: UnexpectedNodesSyntax? {
245+
get {
246+
return unexpectedBetweenNameAndInitializer
247+
}
248+
set {
249+
unexpectedBetweenNameAndInitializer = newValue
250+
}
251+
}
252+
253+
@available(*, deprecated, renamed: "initializer.equal")
254+
public var equal: TokenSyntax? {
255+
get {
256+
return initializer?.equal
257+
}
258+
set {
259+
initializer?.equal = newValue ?? .equalToken(presence: .missing)
260+
}
261+
}
262+
263+
@available(*, deprecated, renamed: "initializer.unexpectedBetweenEqualAndValue")
264+
public var unexpectedBetweenEqualAndExpression: UnexpectedNodesSyntax? {
265+
get {
266+
return initializer?.unexpectedBetweenEqualAndValue
267+
}
268+
set {
269+
initializer?.unexpectedBetweenEqualAndValue = newValue
270+
}
271+
}
272+
273+
@available(*, deprecated, renamed: "initializer.value")
274+
public var expression: ExprSyntax {
275+
get {
276+
return initializer?.value ?? ExprSyntax(MissingExprSyntax())
277+
}
278+
set(value) {
279+
initializer?.value = value
280+
}
281+
}
282+
283+
@available(*, deprecated, renamed: "unexpectedBetweenInitializerAndTrailingComma")
284+
public var unexpectedBetweenExpressionAndTrailingComma: UnexpectedNodesSyntax? {
285+
get {
286+
return unexpectedBetweenInitializerAndTrailingComma
287+
}
288+
set(value) {
289+
unexpectedBetweenInitializerAndTrailingComma = value
290+
}
291+
}
292+
293+
@available(*, deprecated, renamed: "ClosureCaptureSyntax(leadingTrivia:_:specifier:_:name:_:initializer:_:trailingComma:_:trailingTrivia:)")
294+
@_disfavoredOverload
295+
public init(
296+
leadingTrivia: Trivia? = nil,
297+
_ unexpectedBeforeSpecifier: UnexpectedNodesSyntax? = nil,
298+
specifier: ClosureCaptureSpecifierSyntax? = nil,
299+
_ unexpectedBetweenSpecifierAndName: UnexpectedNodesSyntax? = nil,
300+
name: TokenSyntax? = nil,
301+
_ unexpectedBetweenNameAndEqual: UnexpectedNodesSyntax? = nil,
302+
equal: TokenSyntax? = nil,
303+
_ unexpectedBetweenEqualAndExpression: UnexpectedNodesSyntax? = nil,
304+
expression: some ExprSyntaxProtocol,
305+
_ unexpectedBetweenExpressionAndTrailingComma: UnexpectedNodesSyntax? = nil,
306+
trailingComma: TokenSyntax? = nil,
307+
_ unexpectedAfterTrailingComma: UnexpectedNodesSyntax? = nil,
308+
trailingTrivia: Trivia? = nil
309+
) {
310+
self.init(
311+
leadingTrivia: leadingTrivia,
312+
unexpectedBeforeSpecifier,
313+
specifier: specifier,
314+
unexpectedBetweenSpecifierAndName,
315+
name: name ?? .identifier("", presence: .missing),
316+
unexpectedBetweenNameAndEqual,
317+
initializer: InitializerClauseSyntax(
318+
equal: equal ?? .equalToken(presence: .missing),
319+
unexpectedBetweenEqualAndExpression,
320+
value: expression
321+
),
322+
unexpectedBetweenExpressionAndTrailingComma,
323+
trailingComma: trailingComma,
324+
unexpectedAfterTrailingComma,
325+
trailingTrivia: trailingTrivia
326+
)
327+
}
328+
}
329+
147330
extension EffectSpecifiersSyntax {
148331
@available(*, deprecated, renamed: "unexpectedBetweenAsyncSpecifierAndThrowsClause")
149332
public var unexpectedBetweenAsyncSpecifierAndThrowsSpecifier: UnexpectedNodesSyntax? {

0 commit comments

Comments
 (0)