Skip to content

Commit abc66e0

Browse files
authored
Merge pull request #1231 from ahoppen/ahoppen/no-token-shorthand-inits-in-builder
Remove `TokenSyntax` shorthand static members for SwiftSyntaxBuilder
2 parents db38e0f + d56ef84 commit abc66e0

File tree

16 files changed

+90
-428
lines changed

16 files changed

+90
-428
lines changed

CodeGeneration/Sources/Utils/SyntaxBuildableType.swift

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,14 @@ public struct SyntaxBuildableType: Hashable {
5656
public var defaultInitialization: ExprSyntax? {
5757
if isOptional {
5858
return ExprSyntax(NilLiteralExprSyntax())
59-
} else if isToken {
60-
if let token = token, token.text != nil {
61-
return ExprSyntax(MemberAccessExprSyntax(base: "TokenSyntax", name: lowercaseFirstWord(name: token.name).backticked))
62-
} else if tokenKind == "EOFToken" {
63-
return ExprSyntax(MemberAccessExprSyntax(base: "TokenSyntax", name: "eof"))
59+
} else if let token = token {
60+
if token.isKeyword {
61+
return ExprSyntax(".\(raw: token.swiftKind)()")
62+
} else if token.text != nil {
63+
return ExprSyntax(".\(raw: lowercaseFirstWord(name: token.name))Token()")
6464
}
65+
} else if tokenKind == "EOFToken" {
66+
return ExprSyntax(".eof()")
6567
}
6668
return nil
6769
}

CodeGeneration/Sources/generate-swiftsyntax/GenerateSwiftSyntax.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ struct GenerateSwiftSyntax: ParsableCommand {
7070
TemplateSpec(sourceFile: buildableNodesFile, module: swiftSyntaxBuilderDir, filename: "BuildableNodes.swift"),
7171
TemplateSpec(sourceFile: resultBuildersFile, module: swiftSyntaxBuilderDir, filename: "ResultBuilders.swift"),
7272
TemplateSpec(sourceFile: syntaxExpressibleByStringInterpolationConformancesFile, module: swiftSyntaxBuilderDir, filename: "SyntaxExpressibleByStringInterpolationConformances.swift"),
73-
TemplateSpec(sourceFile: tokenFile, module: swiftSyntaxBuilderDir, filename: "Token.swift"),
7473
]
7574

7675
var errors: [Error] = []

CodeGeneration/Sources/generate-swiftsyntax/templates/swiftsyntaxbuilder/TokenFile.swift

Lines changed: 0 additions & 60 deletions
This file was deleted.

Sources/SwiftSyntaxBuilder/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ add_swift_host_library(SwiftSyntaxBuilder
1818
generated/BuildableCollectionNodes.swift
1919
generated/BuildableNodes.swift
2020
generated/ResultBuilders.swift
21-
generated/Token.swift
2221
generated/SyntaxExpressibleByStringInterpolationConformances.swift
2322
)
2423

Sources/SwiftSyntaxBuilder/ConvenienceInitializers.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ extension AttributeSyntax {
6464
let argumentList = argumentList()
6565
self.init(
6666
attributeName: attributeName,
67-
leftParen: argumentList != nil ? .leftParen : nil,
67+
leftParen: argumentList != nil ? .leftParenToken() : nil,
6868
argument: argumentList.map(AttributeSyntax.Argument.argumentList),
69-
rightParen: argumentList != nil ? .rightParen : nil
69+
rightParen: argumentList != nil ? .rightParenToken() : nil
7070
)
7171
}
7272
}
@@ -77,8 +77,8 @@ extension DictionaryExprSyntax {
7777
/// A convenience initializer that allows passing in members using a result builder
7878
/// instead of having to wrap them in a `DictionaryElementList`.
7979
public init(
80-
leftSquare: TokenSyntax = .`leftSquareBracket`,
81-
rightSquare: TokenSyntax = .`rightSquareBracket`,
80+
leftSquare: TokenSyntax = .leftSquareBracketToken(),
81+
rightSquare: TokenSyntax = .rightSquareBracketToken(),
8282
@DictionaryElementListBuilder contentBuilder: () -> DictionaryElementListSyntax = { DictionaryElementListSyntax([]) }
8383
) {
8484
let elementList = contentBuilder()
@@ -154,9 +154,9 @@ extension FunctionCallExprSyntax {
154154
let shouldOmitParens = argumentList.isEmpty && trailingClosure != nil
155155
self.init(
156156
calledExpression: callee,
157-
leftParen: shouldOmitParens ? nil : .leftParen,
157+
leftParen: shouldOmitParens ? nil : .leftParenToken(),
158158
argumentList: argumentList,
159-
rightParen: shouldOmitParens ? nil : .rightParen,
159+
rightParen: shouldOmitParens ? nil : .rightParenToken(),
160160
trailingClosure: trailingClosure,
161161
additionalTrailingClosures: additionalTrailingClosures
162162
)
@@ -227,7 +227,7 @@ extension MemberAccessExprSyntax {
227227
/// Creates a `MemberAccessExpr` using the provided parameters.
228228
public init(
229229
base: ExprSyntax? = nil,
230-
dot: TokenSyntax = .period,
230+
dot: TokenSyntax = .periodToken(),
231231
name: String,
232232
declNameArguments: DeclNameArgumentsSyntax? = nil
233233
) {
@@ -312,9 +312,9 @@ extension StringLiteralExprSyntax {
312312
/// the number of `#`s needed to express the string as-is without any escapes.
313313
public init(
314314
openDelimiter: TokenSyntax? = nil,
315-
openQuote: TokenSyntax = .stringQuote,
315+
openQuote: TokenSyntax = .stringQuoteToken(),
316316
content: String,
317-
closeQuote: TokenSyntax = .stringQuote,
317+
closeQuote: TokenSyntax = .stringQuoteToken(),
318318
closeDelimiter: TokenSyntax? = nil
319319
) {
320320
var openDelimiter = openDelimiter

Sources/SwiftSyntaxBuilder/Syntax+StringInterpolation.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -325,13 +325,13 @@ extension Bool: ExpressibleByLiteralSyntax {
325325
extension ArraySlice: ExpressibleByLiteralSyntax where Element: ExpressibleByLiteralSyntax {
326326
public func makeLiteralSyntax() -> ArrayExprSyntax {
327327
ArrayExprSyntax(
328-
leftSquare: .leftSquareBracket,
328+
leftSquare: .leftSquareBracketToken(),
329329
elements: ArrayElementListSyntax {
330330
for elem in self {
331331
ArrayElementSyntax(expression: elem.makeLiteralSyntax())
332332
}
333333
},
334-
rightSquare: .rightSquareBracket
334+
rightSquare: .rightSquareBracketToken()
335335
)
336336
}
337337
}
@@ -352,24 +352,24 @@ extension Set: ExpressibleByLiteralSyntax where Element: ExpressibleByLiteralSyn
352352
}
353353

354354
return ArrayExprSyntax(
355-
leftSquare: .leftSquareBracket,
355+
leftSquare: .leftSquareBracketToken(),
356356
elements: ArrayElementListSyntax {
357357
for elemSyntax in elemSyntaxes {
358358
ArrayElementSyntax(expression: elemSyntax)
359359
}
360360
},
361-
rightSquare: .rightSquareBracket
361+
rightSquare: .rightSquareBracketToken()
362362
)
363363
}
364364
}
365365

366366
extension KeyValuePairs: ExpressibleByLiteralSyntax where Key: ExpressibleByLiteralSyntax, Value: ExpressibleByLiteralSyntax {
367367
public func makeLiteralSyntax() -> DictionaryExprSyntax {
368-
DictionaryExprSyntax(leftSquare: .leftSquareBracket, rightSquare: .rightSquareBracket) {
368+
DictionaryExprSyntax(leftSquare: .leftSquareBracketToken(), rightSquare: .rightSquareBracketToken()) {
369369
for elem in self {
370370
DictionaryElementSyntax(
371371
keyExpression: elem.key.makeLiteralSyntax(),
372-
colon: .colon,
372+
colon: .colonToken(),
373373
valueExpression: elem.value.makeLiteralSyntax()
374374
)
375375
}
@@ -386,11 +386,11 @@ extension Dictionary: ExpressibleByLiteralSyntax where Key: ExpressibleByLiteral
386386
$0.key.syntaxTextBytes.lexicographicallyPrecedes($1.key.syntaxTextBytes)
387387
}
388388

389-
return DictionaryExprSyntax(leftSquare: .leftSquareBracket, rightSquare: .rightSquareBracket) {
389+
return DictionaryExprSyntax(leftSquare: .leftSquareBracketToken(), rightSquare: .rightSquareBracketToken()) {
390390
for elemSyntax in elemSyntaxes {
391391
DictionaryElementSyntax(
392392
keyExpression: elemSyntax.key,
393-
colon: .colon,
393+
colon: .colonToken(),
394394
valueExpression: elemSyntax.value
395395
)
396396
}

0 commit comments

Comments
 (0)