13
13
import ASTBridging
14
14
import BasicBridging
15
15
import SwiftDiagnostics
16
- @_spi ( ExperimentalLanguageFeatures) import SwiftSyntax
16
+ @_spi ( ExperimentalLanguageFeatures) @ _spi ( RawSyntax ) import SwiftSyntax
17
17
18
18
// MARK: - TypeDecl
19
19
@@ -293,7 +293,7 @@ extension ASTGenVisitor {
293
293
let initializer = generate ( initializerClause: node. bindings. first!. initializer!)
294
294
295
295
let isStatic = false // TODO: compute this
296
- let isLet = node. bindingSpecifier. tokenKind == . keyword ( . let)
296
+ let isLet = node. bindingSpecifier. keywordKind == . let
297
297
298
298
return . createParsed(
299
299
self . ctx,
@@ -347,7 +347,7 @@ extension ASTGenVisitor {
347
347
declContext: self . declContext,
348
348
initKeywordLoc: self . generateSourceLoc ( node. initKeyword) ,
349
349
failabilityMarkLoc: self . generateSourceLoc ( node. optionalMark) ,
350
- isIUO: node. optionalMark? . tokenKind == . exclamationMark,
350
+ isIUO: node. optionalMark? . rawTokenKind == . exclamationMark,
351
351
genericParamList: self . generate ( genericParameterClause: node. genericParameterClause) ,
352
352
parameterList: self . generate ( functionParameterClause: node. signature. parameterClause) ,
353
353
asyncSpecifierLoc: self . generateSourceLoc ( node. signature. effectSpecifiers? . asyncSpecifier) ,
@@ -385,11 +385,11 @@ extension ASTGenVisitor {
385
385
// MARK: - OperatorDecl
386
386
387
387
extension BridgedOperatorFixity {
388
- fileprivate init ? ( from tokenKind : TokenKind ) {
389
- switch tokenKind {
390
- case . keyword ( . infix) : self = . infix
391
- case . keyword ( . prefix) : self = . prefix
392
- case . keyword ( . postfix) : self = . postfix
388
+ fileprivate init ? ( from keyword : Keyword ? ) {
389
+ switch keyword {
390
+ case . infix: self = . infix
391
+ case . prefix: self = . prefix
392
+ case . postfix: self = . postfix
393
393
default : return nil
394
394
}
395
395
}
@@ -402,7 +402,7 @@ extension ASTGenVisitor {
402
402
self . generateIdentifierAndSourceLoc ( node. operatorPrecedenceAndTypes? . precedenceGroup)
403
403
404
404
let fixity : BridgedOperatorFixity
405
- if let value = BridgedOperatorFixity ( from: node. fixitySpecifier. tokenKind ) {
405
+ if let value = BridgedOperatorFixity ( from: node. fixitySpecifier. keywordKind ) {
406
406
fixity = value
407
407
} else {
408
408
fixity = . infix
@@ -428,11 +428,11 @@ extension ASTGenVisitor {
428
428
// MARK: - PrecedenceGroupDecl
429
429
430
430
extension BridgedAssociativity {
431
- fileprivate init ? ( from tokenKind : TokenKind ) {
432
- switch tokenKind {
433
- case . keyword ( . none) : self = . none
434
- case . keyword ( . left) : self = . left
435
- case . keyword ( . right) : self = . right
431
+ fileprivate init ? ( from keyword : Keyword ? ) {
432
+ switch keyword {
433
+ case . none? : self = . none
434
+ case . left? : self = . left
435
+ case . right? : self = . right
436
436
default : return nil
437
437
}
438
438
}
@@ -459,14 +459,14 @@ extension ASTGenVisitor {
459
459
switch element {
460
460
case . precedenceGroupRelation( let relation) :
461
461
let keyword = relation. higherThanOrLowerThanLabel
462
- switch keyword. tokenKind {
463
- case . keyword ( . higherThan) :
462
+ switch keyword. keywordKind {
463
+ case . higherThan:
464
464
if let current = body. higherThanRelation {
465
465
diagnoseDuplicateSyntax ( relation, original: current)
466
466
} else {
467
467
body. higherThanRelation = relation
468
468
}
469
- case . keyword ( . lowerThan) :
469
+ case . lowerThan:
470
470
if let current = body. lowerThanRelation {
471
471
diagnoseDuplicateSyntax ( relation, original: current)
472
472
} else {
@@ -492,7 +492,7 @@ extension ASTGenVisitor {
492
492
493
493
let associativityValue : BridgedAssociativity
494
494
if let token = body. associativity? . value {
495
- if let value = BridgedAssociativity ( from: token. tokenKind ) {
495
+ if let value = BridgedAssociativity ( from: token. keywordKind ) {
496
496
associativityValue = value
497
497
} else {
498
498
self . diagnose ( Diagnostic ( node: token, message: UnexpectedTokenKindError ( token: token) ) )
@@ -504,7 +504,7 @@ extension ASTGenVisitor {
504
504
505
505
let assignmentValue : Bool
506
506
if let token = body. assignment? . value {
507
- if token. tokenKind == . keyword ( . true ) {
507
+ if token. keywordKind == . true {
508
508
assignmentValue = true
509
509
} else {
510
510
self . diagnose ( Diagnostic ( node: token, message: UnexpectedTokenKindError ( token: token) ) )
@@ -538,15 +538,15 @@ extension ASTGenVisitor {
538
538
// MARK: - ImportDecl
539
539
540
540
extension BridgedImportKind {
541
- fileprivate init ? ( from tokenKind : TokenKind ) {
542
- switch tokenKind {
543
- case . keyword ( . typealias) : self = . type
544
- case . keyword ( . struct) : self = . struct
545
- case . keyword ( . class) : self = . class
546
- case . keyword ( . enum) : self = . enum
547
- case . keyword ( . protocol) : self = . protocol
548
- case . keyword ( . var) , . keyword ( . let) : self = . var
549
- case . keyword ( . func) : self = . func
541
+ fileprivate init ? ( from keyword : Keyword ? ) {
542
+ switch keyword {
543
+ case . typealias: self = . type
544
+ case . struct: self = . struct
545
+ case . class: self = . class
546
+ case . enum: self = . enum
547
+ case . protocol: self = . protocol
548
+ case . var, . let: self = . var
549
+ case . func: self = . func
550
550
default : return nil
551
551
}
552
552
}
@@ -556,7 +556,7 @@ extension ASTGenVisitor {
556
556
func generate( importDecl node: ImportDeclSyntax ) -> BridgedImportDecl {
557
557
let importKind : BridgedImportKind
558
558
if let specifier = node. importKindSpecifier {
559
- if let value = BridgedImportKind ( from: specifier. tokenKind ) {
559
+ if let value = BridgedImportKind ( from: specifier. keywordKind ) {
560
560
importKind = value
561
561
} else {
562
562
self . diagnose ( Diagnostic ( node: specifier, message: UnexpectedTokenKindError ( token: specifier) ) )
0 commit comments