Skip to content

Commit f150ce8

Browse files
committed
Fix a few minor inconsistencies in TokenSpecSets
1 parent b439add commit f150ce8

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

Sources/SwiftParser/Attributes.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ extension Parser {
3232
/// Compiler-known attributes that take arguments.
3333
enum DeclarationAttributeWithSpecialSyntax: TokenSpecSet {
3434
case _alignment
35+
case _backDeploy
3536
case _cdecl
3637
case _documentation
3738
case _dynamicReplacement
@@ -66,7 +67,7 @@ extension Parser {
6667
init?(lexeme: Lexer.Lexeme) {
6768
switch lexeme {
6869
case TokenSpec(._alignment): self = ._alignment
69-
case TokenSpec(._backDeploy): self = .backDeployed
70+
case TokenSpec(._backDeploy): self = ._backDeploy
7071
case TokenSpec(._cdecl): self = ._cdecl
7172
case TokenSpec(._documentation): self = ._documentation
7273
case TokenSpec(._dynamicReplacement): self = ._dynamicReplacement
@@ -105,6 +106,7 @@ extension Parser {
105106
var spec: TokenSpec {
106107
switch self {
107108
case ._alignment: return .keyword(._alignment)
109+
case ._backDeploy: return .keyword(._backDeploy)
108110
case ._cdecl: return .keyword(._cdecl)
109111
case ._documentation: return .keyword(._documentation)
110112
case ._dynamicReplacement: return .keyword(._dynamicReplacement)
@@ -223,7 +225,7 @@ extension Parser {
223225
return parseAttribute(argumentMode: .required) { parser in
224226
return .availability(parser.parseAvailabilityArgumentSpecList())
225227
}
226-
case .backDeployed:
228+
case .backDeployed, ._backDeploy:
227229
return parseAttribute(argumentMode: .required) { parser in
228230
return .backDeployedArguments(parser.parseBackDeployedArguments())
229231
}

Sources/SwiftParser/Specifiers.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public enum AsyncEffectSpecifier: TokenSpecSet {
4242
var spec: TokenSpec {
4343
switch self {
4444
case .async: return .keyword(.async)
45-
case .await: return .keyword(.await)
45+
case .await: return TokenSpec(.await, allowAtStartOfLine: false)
4646
case .reasync: return .keyword(.reasync)
4747
}
4848
}
@@ -79,9 +79,9 @@ public enum ThrowsEffectSpecifier: TokenSpecSet {
7979
var spec: TokenSpec {
8080
switch self {
8181
case .rethrows: return .keyword(.rethrows)
82-
case .throw: return .keyword(.throw)
82+
case .throw: return TokenSpec(.throw, allowAtStartOfLine: false)
8383
case .throws: return .keyword(.throws)
84-
case .try: return .keyword(.try)
84+
case .try: return TokenSpec(.try, allowAtStartOfLine: false)
8585
}
8686
}
8787
}
@@ -186,7 +186,7 @@ extension RawDeclEffectSpecifiersSyntax: RawEffectSpecifiersTrait {
186186

187187
var spec: TokenSpec {
188188
switch self {
189-
case .await: return .keyword(.await)
189+
case .await: return TokenSpec(.await, allowAtStartOfLine: false)
190190
}
191191
}
192192
}
@@ -225,8 +225,8 @@ extension RawDeclEffectSpecifiersSyntax: RawEffectSpecifiersTrait {
225225

226226
var spec: TokenSpec {
227227
switch self {
228-
case .try: return .keyword(.try)
229-
case .throw: return .keyword(.throw)
228+
case .try: return TokenSpec(.try, allowAtStartOfLine: false)
229+
case .throw: return TokenSpec(.throw, allowAtStartOfLine: false)
230230
}
231231
}
232232
}
@@ -267,7 +267,7 @@ extension RawTypeEffectSpecifiersSyntax: RawEffectSpecifiersTrait {
267267

268268
var spec: TokenSpec {
269269
switch self {
270-
case .await: return .keyword(.await)
270+
case .await: return TokenSpec(.await, allowAtStartOfLine: false)
271271
case .reasync: return .keyword(.reasync)
272272
}
273273
}
@@ -307,8 +307,8 @@ extension RawTypeEffectSpecifiersSyntax: RawEffectSpecifiersTrait {
307307
var spec: TokenSpec {
308308
switch self {
309309
case .rethrows: return .keyword(.rethrows)
310-
case .try: return .keyword(.try)
311-
case .throw: return .keyword(.throw)
310+
case .try: return TokenSpec(.try, allowAtStartOfLine: false)
311+
case .throw: return TokenSpec(.throw, allowAtStartOfLine: false)
312312
}
313313
}
314314
}

Sources/SwiftParser/TokenConsumer.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ extension TokenConsumer {
106106
@inline(__always)
107107
mutating func at<SpecSet: TokenSpecSet>(anyIn specSet: SpecSet.Type) -> (SpecSet, TokenConsumptionHandle)? {
108108
if let matchedKind = SpecSet(lexeme: self.currentToken) {
109+
assert(matchedKind.spec ~= self.currentToken)
109110
return (
110111
matchedKind,
111112
TokenConsumptionHandle(spec: matchedKind.spec)

0 commit comments

Comments
 (0)