1313import ASTBridging
1414import BasicBridging
1515import SwiftDiagnostics
16- @_spi ( ExperimentalLanguageFeatures) import SwiftSyntax
16+ @_spi ( ExperimentalLanguageFeatures) @ _spi ( RawSyntax ) import SwiftSyntax
1717
1818// MARK: - TypeDecl
1919
@@ -293,7 +293,7 @@ extension ASTGenVisitor {
293293 let initializer = generate ( initializerClause: node. bindings. first!. initializer!)
294294
295295 let isStatic = false // TODO: compute this
296- let isLet = node. bindingSpecifier. tokenKind == . keyword ( . let)
296+ let isLet = node. bindingSpecifier. keywordKind == . let
297297
298298 return . createParsed(
299299 self . ctx,
@@ -347,7 +347,7 @@ extension ASTGenVisitor {
347347 declContext: self . declContext,
348348 initKeywordLoc: self . generateSourceLoc ( node. initKeyword) ,
349349 failabilityMarkLoc: self . generateSourceLoc ( node. optionalMark) ,
350- isIUO: node. optionalMark? . tokenKind == . exclamationMark,
350+ isIUO: node. optionalMark? . rawTokenKind == . exclamationMark,
351351 genericParamList: self . generate ( genericParameterClause: node. genericParameterClause) ,
352352 parameterList: self . generate ( functionParameterClause: node. signature. parameterClause) ,
353353 asyncSpecifierLoc: self . generateSourceLoc ( node. signature. effectSpecifiers? . asyncSpecifier) ,
@@ -385,11 +385,11 @@ extension ASTGenVisitor {
385385// MARK: - OperatorDecl
386386
387387extension 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
393393 default : return nil
394394 }
395395 }
@@ -402,7 +402,7 @@ extension ASTGenVisitor {
402402 self . generateIdentifierAndSourceLoc ( node. operatorPrecedenceAndTypes? . precedenceGroup)
403403
404404 let fixity : BridgedOperatorFixity
405- if let value = BridgedOperatorFixity ( from: node. fixitySpecifier. tokenKind ) {
405+ if let value = BridgedOperatorFixity ( from: node. fixitySpecifier. keywordKind ) {
406406 fixity = value
407407 } else {
408408 fixity = . infix
@@ -428,11 +428,11 @@ extension ASTGenVisitor {
428428// MARK: - PrecedenceGroupDecl
429429
430430extension 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
436436 default : return nil
437437 }
438438 }
@@ -459,14 +459,14 @@ extension ASTGenVisitor {
459459 switch element {
460460 case . precedenceGroupRelation( let relation) :
461461 let keyword = relation. higherThanOrLowerThanLabel
462- switch keyword. tokenKind {
463- case . keyword ( . higherThan) :
462+ switch keyword. keywordKind {
463+ case . higherThan:
464464 if let current = body. higherThanRelation {
465465 diagnoseDuplicateSyntax ( relation, original: current)
466466 } else {
467467 body. higherThanRelation = relation
468468 }
469- case . keyword ( . lowerThan) :
469+ case . lowerThan:
470470 if let current = body. lowerThanRelation {
471471 diagnoseDuplicateSyntax ( relation, original: current)
472472 } else {
@@ -492,7 +492,7 @@ extension ASTGenVisitor {
492492
493493 let associativityValue : BridgedAssociativity
494494 if let token = body. associativity? . value {
495- if let value = BridgedAssociativity ( from: token. tokenKind ) {
495+ if let value = BridgedAssociativity ( from: token. keywordKind ) {
496496 associativityValue = value
497497 } else {
498498 self . diagnose ( Diagnostic ( node: token, message: UnexpectedTokenKindError ( token: token) ) )
@@ -504,7 +504,7 @@ extension ASTGenVisitor {
504504
505505 let assignmentValue : Bool
506506 if let token = body. assignment? . value {
507- if token. tokenKind == . keyword ( . true ) {
507+ if token. keywordKind == . true {
508508 assignmentValue = true
509509 } else {
510510 self . diagnose ( Diagnostic ( node: token, message: UnexpectedTokenKindError ( token: token) ) )
@@ -538,15 +538,15 @@ extension ASTGenVisitor {
538538// MARK: - ImportDecl
539539
540540extension 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
550550 default : return nil
551551 }
552552 }
@@ -556,7 +556,7 @@ extension ASTGenVisitor {
556556 func generate( importDecl node: ImportDeclSyntax ) -> BridgedImportDecl {
557557 let importKind : BridgedImportKind
558558 if let specifier = node. importKindSpecifier {
559- if let value = BridgedImportKind ( from: specifier. tokenKind ) {
559+ if let value = BridgedImportKind ( from: specifier. keywordKind ) {
560560 importKind = value
561561 } else {
562562 self . diagnose ( Diagnostic ( node: specifier, message: UnexpectedTokenKindError ( token: specifier) ) )
0 commit comments