Skip to content

Commit d362b87

Browse files
committed
[Trivia] Add @available attribute to deprecated trivia kind
'Backtick' trivia is now deprecated. Adjust syntax test not to use 'backticks' trivia since parser doens't produce them anymore. rdar://problem/54810608
1 parent 7fd8a8b commit d362b87

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

Sources/SwiftSyntax/Trivia.swift.gyb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ import Foundation
3030
public enum TriviaPiece {
3131
% for trivia in TRIVIAS:
3232
/// ${trivia.comment}
33+
% if trivia.deprecated is not None:
34+
@available(*, deprecated, message: "${trivia.deprecated}")
35+
% end
3336
% if trivia.is_collection():
3437
case ${trivia.lower_name}s(Int)
3538
% else:
@@ -101,6 +104,9 @@ public struct Trivia {
101104
}
102105

103106
% for trivia in TRIVIAS:
107+
% if trivia.deprecated is not None:
108+
@available(*, deprecated, message: "${trivia.deprecated}")
109+
% end
104110
% if trivia.is_collection():
105111
% joined = ''.join(trivia.swift_characters)
106112
/// Return a piece of trivia for some number of '${joined}' characters.
@@ -208,6 +214,9 @@ extension TriviaPiece {
208214
internal enum TriviaPieceKind: CTriviaKind {
209215
% for trivia in TRIVIAS:
210216
/// ${trivia.comment}
217+
% if trivia.deprecated is not None:
218+
@available(*, deprecated, message: "${trivia.deprecated}")
219+
% end
211220
% if trivia.is_collection():
212221
case ${trivia.lower_name}s = ${trivia.serialization_code}
213222
% else:

Tests/SwiftSyntaxTest/AbsolutePosition.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ public class AbsolutePositionTestCase: XCTestCase {
9090

9191
static let leadingTrivia = Trivia(pieces: [
9292
.newlines(1),
93-
.backticks(1),
9493
.docLineComment("/// some comment"),
9594
.carriageReturns(1),
9695
])
@@ -117,10 +116,10 @@ public class AbsolutePositionTestCase: XCTestCase {
117116
public func testTrivias() {
118117
let idx = 5
119118
let root = self.createSourceFile(idx + 1)
120-
XCTAssertEqual(4, root.leadingTrivia!.count)
119+
XCTAssertEqual(3, root.leadingTrivia!.count)
121120
XCTAssertEqual(0, root.trailingTrivia!.count)
122121
let state = root.statements[idx]
123-
XCTAssertEqual(4, state.leadingTrivia!.count)
122+
XCTAssertEqual(3, state.leadingTrivia!.count)
124123
XCTAssertEqual(2, state.trailingTrivia!.count)
125124
XCTAssertEqual(state.byteSize,
126125
state.leadingTrivia!.byteSize + state.trailingTrivia!.byteSize
@@ -138,8 +137,8 @@ public class AbsolutePositionTestCase: XCTestCase {
138137
modifiedRoot1.leadingTrivia = [.blockComment("/* this is a comment */")]
139138
XCTAssertEqual([.blockComment("/* this is a comment */")], modifiedRoot1.leadingTrivia)
140139

141-
var modifiedRoot2 = root.withTrailingTrivia([.backticks(2)])
142-
XCTAssertEqual([.backticks(2)], modifiedRoot2.trailingTrivia)
140+
var modifiedRoot2 = root.withTrailingTrivia([.tabs(2)])
141+
XCTAssertEqual([.tabs(2)], modifiedRoot2.trailingTrivia)
143142
XCTAssertEqual([], root.trailingTrivia)
144143
modifiedRoot2.trailingTrivia = [.carriageReturns(1), .newlines(2)]
145144
XCTAssertEqual([.carriageReturns(1), .newlines(2)], modifiedRoot2.trailingTrivia)

Tests/SwiftSyntaxTest/SyntaxFactory.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ public class SyntaxFactoryAPITestCase: XCTestCase {
3838
}
3939
""")
4040

41-
let forType = SyntaxFactory.makeIdentifier("for",
42-
leadingTrivia: .backticks(1),
41+
let forType = SyntaxFactory.makeIdentifier("`for`",
42+
leadingTrivia: [],
4343
trailingTrivia: [
44-
.backticks(1), .spaces(1)
44+
.spaces(1)
4545
])
4646
let newBrace = SyntaxFactory.makeRightBraceToken(leadingTrivia: .newlines(2))
4747

lit_tests/coloring.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,8 +392,7 @@ class Ownership {
392392
let closure = { [weak x=bindtox, unowned y=bindtoy, unowned(unsafe) z=bindtoz] in }
393393

394394
protocol FakeClassRestrictedProtocol : `class` {}
395-
// FIXME: rdar://42801404: OLD and NEW should be the same '<type>`class`</type>'.
396-
// CHECK: <kw>protocol</kw> <id>FakeClassRestrictedProtocol</id> : `<type>class</type>` {}
395+
// CHECK: <kw>protocol</kw> <id>FakeClassRestrictedProtocol</id> : <type>`class`</type> {}
397396

398397
// CHECK: <kw>func</kw> <id>foo</id>() -> <kw>some</kw> <type>P</type> {}
399398
func foo() -> some P {}

0 commit comments

Comments
 (0)