Skip to content

Commit 543e4e4

Browse files
committed
Adjustments for merging of contextual and lexial keywords
1 parent b86a9bf commit 543e4e4

12 files changed

+31
-31
lines changed

Sources/SwiftFormatPrettyPrint/TokenStreamCreator.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1718,7 +1718,7 @@ fileprivate final class TokenStreamCreator: SyntaxVisitor {
17181718
// this special exception for `async let` statements to avoid breaking prematurely between the
17191719
// `async` and `let` keywords.
17201720
let breakOrSpace: Token
1721-
if node.name.tokenKind == .contextualKeyword(.async) {
1721+
if node.name.tokenKind == .keyword(.async) {
17221722
breakOrSpace = .space
17231723
} else {
17241724
breakOrSpace = .break

Sources/SwiftFormatRules/AlwaysUseLowerCamelCase.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,9 @@ fileprivate func identifierDescription<NodeType: SyntaxProtocol>(for node: NodeT
173173
case .enumCaseElement: return "enum case"
174174
case .functionDecl: return "function"
175175
case .optionalBindingCondition(let binding):
176-
return binding.letOrVarKeyword.tokenKind == .varKeyword ? "variable" : "constant"
176+
return binding.letOrVarKeyword.tokenKind == .keyword(.var) ? "variable" : "constant"
177177
case .variableDecl(let variableDecl):
178-
return variableDecl.letOrVarKeyword.tokenKind == .varKeyword ? "variable" : "constant"
178+
return variableDecl.letOrVarKeyword.tokenKind == .keyword(.var) ? "variable" : "constant"
179179
default:
180180
return "identifier"
181181
}

Sources/SwiftFormatRules/FileScopedDeclarationPrivacy.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,12 @@ public final class FileScopedDeclarationPrivacy: SyntaxFormatRule {
144144

145145
switch context.configuration.fileScopedDeclarationPrivacy.accessLevel {
146146
case .private:
147-
invalidAccess = .fileprivateKeyword
148-
validAccess = .privateKeyword
147+
invalidAccess = .keyword(.fileprivate)
148+
validAccess = .keyword(.private)
149149
diagnostic = .replaceFileprivateWithPrivate
150150
case .fileprivate:
151-
invalidAccess = .privateKeyword
152-
validAccess = .fileprivateKeyword
151+
invalidAccess = .keyword(.private)
152+
validAccess = .keyword(.fileprivate)
153153
diagnostic = .replacePrivateWithFileprivate
154154
}
155155

Sources/SwiftFormatRules/FullyIndirectEnum.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public final class FullyIndirectEnum: SyntaxFormatRule {
5757
let leadingTrivia: Trivia
5858
let newEnumDecl: EnumDeclSyntax
5959

60-
if firstTok.tokenKind == .enumKeyword {
60+
if firstTok.tokenKind == .keyword(.enum) {
6161
leadingTrivia = firstTok.leadingTrivia
6262
newEnumDecl = replaceTrivia(
6363
on: node, token: node.firstToken, leadingTrivia: [])

Sources/SwiftFormatRules/ModifierListSyntax+Convenience.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ extension ModifierListSyntax {
2626
var accessLevelModifier: DeclModifierSyntax? {
2727
for modifier in self {
2828
switch modifier.name.tokenKind {
29-
case .publicKeyword, .privateKeyword, .fileprivateKeyword, .internalKeyword:
29+
case .keyword(.public), .keyword(.private), .keyword(.fileprivate), .keyword(.internal):
3030
return modifier
3131
default:
3232
continue

Sources/SwiftFormatRules/NoAccessLevelOnExtensionDeclaration.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ public final class NoAccessLevelOnExtensionDeclaration: SyntaxFormatRule {
3131
let keywordKind = accessKeyword.name.tokenKind
3232
switch keywordKind {
3333
// Public, private, or fileprivate keywords need to be moved to members
34-
case .publicKeyword, .privateKeyword, .fileprivateKeyword:
34+
case .keyword(.public), .keyword(.private), .keyword(.fileprivate):
3535
diagnose(.moveAccessKeyword(keyword: accessKeyword.name.text), on: accessKeyword)
3636

3737
// The effective access level of the members of a `private` extension is `fileprivate`, so
3838
// we have to update the keyword to ensure that the result is correct.
3939
let accessKeywordToAdd: DeclModifierSyntax
40-
if keywordKind == .privateKeyword {
40+
if keywordKind == .keyword(.private) {
4141
accessKeywordToAdd
42-
= accessKeyword.withName(accessKeyword.name.withKind(.fileprivateKeyword))
42+
= accessKeyword.withName(accessKeyword.name.withKind(.keyword(.fileprivate)))
4343
} else {
4444
accessKeywordToAdd = accessKeyword
4545
}
@@ -58,7 +58,7 @@ public final class NoAccessLevelOnExtensionDeclaration: SyntaxFormatRule {
5858
return DeclSyntax(result)
5959

6060
// Internal keyword redundant, delete
61-
case .internalKeyword:
61+
case .keyword(.internal):
6262
diagnose(
6363
.removeRedundantAccessKeyword(name: node.extendedType.description),
6464
on: accessKeyword)

Sources/SwiftFormatRules/UseEarlyExits.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@ public final class UseEarlyExits: SyntaxFormatRule {
6767

6868
let trueBlock = ifStatement.body
6969

70-
let guardKeyword = TokenSyntax.guardKeyword(
70+
let guardKeyword = TokenSyntax.keyword(.guard,
7171
leadingTrivia: ifStatement.ifKeyword.leadingTrivia,
7272
trailingTrivia: .spaces(1))
7373
let guardStatement = GuardStmtSyntax(
7474
guardKeyword: guardKeyword,
7575
conditions: ifStatement.conditions,
76-
elseKeyword: TokenSyntax.elseKeyword(trailingTrivia: .spaces(1)),
76+
elseKeyword: TokenSyntax.keyword(.else, trailingTrivia: .spaces(1)),
7777
body: elseBody)
7878

7979
var items = [

Sources/SwiftFormatRules/UseShorthandTypeNames.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -520,12 +520,12 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
520520
// Look for accessors that indicate that this is a computed property. If none are found, then
521521
// it is a stored property (e.g., having only observers like `willSet/didSet`).
522522
switch accessorDecl.accessorKind.tokenKind {
523-
case .contextualKeyword(.get),
524-
.contextualKeyword(.set),
525-
.contextualKeyword(.unsafeAddress),
526-
.contextualKeyword(.unsafeMutableAddress),
527-
.contextualKeyword(._read),
528-
.contextualKeyword(._modify):
523+
case .keyword(.get),
524+
.keyword(.set),
525+
.keyword(.unsafeAddress),
526+
.keyword(.unsafeMutableAddress),
527+
.keyword(._read),
528+
.keyword(._modify):
529529
return false
530530
default:
531531
return true
@@ -545,7 +545,7 @@ public final class UseShorthandTypeNames: SyntaxFormatRule {
545545
isStoredProperty(patternBinding),
546546
patternBinding.initializer == nil,
547547
let variableDecl = nearestAncestor(of: patternBinding, type: VariableDeclSyntax.self),
548-
variableDecl.letOrVarKeyword.tokenKind == .varKeyword
548+
variableDecl.letOrVarKeyword.tokenKind == .keyword(.var)
549549
{
550550
return true
551551
}

Sources/SwiftFormatRules/UseSingleLinePropertyGetter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public final class UseSingleLinePropertyGetter: SyntaxFormatRule {
2626
let acc = accessorBlock.accessors.first,
2727
let body = acc.body,
2828
accessorBlock.accessors.count == 1,
29-
acc.accessorKind.tokenKind == .contextualKeyword(.get),
29+
acc.accessorKind.tokenKind == .keyword(.get),
3030
acc.attributes == nil,
3131
acc.modifier == nil,
3232
acc.asyncKeyword == nil,

Sources/SwiftFormatRules/UseSynthesizedInitializer.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,11 +90,11 @@ public final class UseSynthesizedInitializer: SyntaxLintRule {
9090
switch synthesizedAccessLevel {
9191
case .internal:
9292
// No explicit access level or internal are equivalent.
93-
return accessLevel == nil || accessLevel!.name.tokenKind == .internalKeyword
93+
return accessLevel == nil || accessLevel!.name.tokenKind == .keyword(.internal)
9494
case .fileprivate:
95-
return accessLevel != nil && accessLevel!.name.tokenKind == .fileprivateKeyword
95+
return accessLevel != nil && accessLevel!.name.tokenKind == .keyword(.fileprivate)
9696
case .private:
97-
return accessLevel != nil && accessLevel!.name.tokenKind == .privateKeyword
97+
return accessLevel != nil && accessLevel!.name.tokenKind == .keyword(.private)
9898
}
9999
}
100100

@@ -116,7 +116,7 @@ public final class UseSynthesizedInitializer: SyntaxLintRule {
116116
// Ensure that parameters that correspond to properties declared using 'var' have a default
117117
// argument that is identical to the property's default value. Otherwise, a default argument
118118
// doesn't match the memberwise initializer.
119-
let isVarDecl = property.letOrVarKeyword.tokenKind == .varKeyword
119+
let isVarDecl = property.letOrVarKeyword.tokenKind == .keyword(.var)
120120
if isVarDecl, let initializer = property.firstInitializer {
121121
guard let defaultArg = parameter.defaultArgument else { return false }
122122
guard initializer.value.description == defaultArg.value.description else { return false }
@@ -212,10 +212,10 @@ fileprivate func synthesizedInitAccessLevel(using properties: [VariableDeclSynta
212212
guard let modifiers = property.modifiers else { continue }
213213

214214
// Private takes precedence, so finding 1 private property defines the access level.
215-
if modifiers.contains(where: {$0.name.tokenKind == .privateKeyword && $0.detail == nil}) {
215+
if modifiers.contains(where: {$0.name.tokenKind == .keyword(.private) && $0.detail == nil}) {
216216
return .private
217217
}
218-
if modifiers.contains(where: {$0.name.tokenKind == .fileprivateKeyword && $0.detail == nil}) {
218+
if modifiers.contains(where: {$0.name.tokenKind == .keyword(.fileprivate) && $0.detail == nil}) {
219219
hasFileprivate = true
220220
// Can't break here because a later property might be private.
221221
}

Sources/SwiftFormatRules/UseWhereClausesInForLoops.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ fileprivate func updateWithWhereCondition(
101101
if lastToken?.trailingTrivia.containsSpaces == false {
102102
whereLeadingTrivia = .spaces(1)
103103
}
104-
let whereKeyword = TokenSyntax.whereKeyword(
104+
let whereKeyword = TokenSyntax.keyword(.where,
105105
leadingTrivia: whereLeadingTrivia,
106106
trailingTrivia: .spaces(1)
107107
)

Sources/SwiftFormatRules/ValidateDocumentationComments.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public final class ValidateDocumentationComments: SyntaxLintRule {
121121
// If a function is marked as `rethrows`, it doesn't have any errors of its
122122
// own that should be documented. So only require documentation for
123123
// functions marked `throws`.
124-
let needsThrowsDesc = throwsOrRethrowsKeyword?.tokenKind == .throwsKeyword
124+
let needsThrowsDesc = throwsOrRethrowsKeyword?.tokenKind == .keyword(.throws)
125125

126126
if !needsThrowsDesc && throwsDesc != nil {
127127
diagnose(.removeThrowsComment(funcName: name), on: throwsOrRethrowsKeyword ?? node.firstToken)

0 commit comments

Comments
 (0)