Skip to content

Commit fb99b2f

Browse files
committed
optimized TokenKind.fromRaw(kind:)
1 parent 3592e71 commit fb99b2f

File tree

1 file changed

+230
-86
lines changed

1 file changed

+230
-86
lines changed

Sources/SwiftSyntax/generated/TokenKind.swift

Lines changed: 230 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -729,144 +729,288 @@ extension TokenKind {
729729
@_spi(RawSyntax)
730730
public static func fromRaw(kind rawKind: RawTokenKind, text: String) -> TokenKind {
731731
switch rawKind {
732-
case .arrow:
733-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
732+
case RawTokenKind.arrow:
733+
let rawKindString: String? = rawKind.defaultText.map(String.init)
734+
let first: Bool = text.isEmpty
735+
let second: Bool = rawKindString == text
736+
let third = first || second
737+
precondition(third)
734738
return TokenKind.arrow
735-
case .atSign:
736-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
739+
case RawTokenKind.atSign:
740+
let rawKindString: String? = rawKind.defaultText.map(String.init)
741+
let first: Bool = text.isEmpty
742+
let second: Bool = rawKindString == text
743+
let third = first || second
744+
precondition(third)
737745
return TokenKind.atSign
738-
case .backslash:
739-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
746+
case RawTokenKind.backslash:
747+
let rawKindString: String? = rawKind.defaultText.map(String.init)
748+
let first: Bool = text.isEmpty
749+
let second: Bool = rawKindString == text
750+
let third = first || second
751+
precondition(third)
740752
return TokenKind.backslash
741-
case .backtick:
742-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
753+
case RawTokenKind.backtick:
754+
let rawKindString: String? = rawKind.defaultText.map(String.init)
755+
let first: Bool = text.isEmpty
756+
let second: Bool = rawKindString == text
757+
let third = first || second
758+
precondition(third)
743759
return TokenKind.backtick
744-
case .binaryOperator:
760+
case RawTokenKind.binaryOperator:
745761
return TokenKind.binaryOperator(text)
746-
case .colon:
747-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
762+
case RawTokenKind.colon:
763+
let rawKindString: String? = rawKind.defaultText.map(String.init)
764+
let first: Bool = text.isEmpty
765+
let second: Bool = rawKindString == text
766+
let third = first || second
767+
precondition(third)
748768
return TokenKind.colon
749-
case .comma:
750-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
769+
case RawTokenKind.comma:
770+
let rawKindString: String? = rawKind.defaultText.map(String.init)
771+
let first: Bool = text.isEmpty
772+
let second: Bool = rawKindString == text
773+
let third = first || second
774+
precondition(third)
751775
return TokenKind.comma
752-
case .dollarIdentifier:
776+
case RawTokenKind.dollarIdentifier:
753777
return TokenKind.dollarIdentifier(text)
754-
case .ellipsis:
755-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
778+
case RawTokenKind.ellipsis:
779+
let rawKindString: String? = rawKind.defaultText.map(String.init)
780+
let first: Bool = text.isEmpty
781+
let second: Bool = rawKindString == text
782+
let third = first || second
783+
precondition(third)
756784
return TokenKind.ellipsis
757-
case .endOfFile:
758-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
785+
case RawTokenKind.endOfFile:
786+
let rawKindString: String? = rawKind.defaultText.map(String.init)
787+
let first: Bool = text.isEmpty
788+
let second: Bool = rawKindString == text
789+
let third = first || second
790+
precondition(third)
759791
return TokenKind.endOfFile
760-
case .equal:
761-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
792+
case RawTokenKind.equal:
793+
let rawKindString: String? = rawKind.defaultText.map(String.init)
794+
let first: Bool = text.isEmpty
795+
let second: Bool = rawKindString == text
796+
let third = first || second
797+
precondition(third)
762798
return TokenKind.equal
763-
case .exclamationMark:
764-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
799+
case RawTokenKind.exclamationMark:
800+
let rawKindString: String? = rawKind.defaultText.map(String.init)
801+
let first: Bool = text.isEmpty
802+
let second: Bool = rawKindString == text
803+
let third = first || second
804+
precondition(third)
765805
return TokenKind.exclamationMark
766-
case .floatLiteral:
806+
case RawTokenKind.floatLiteral:
767807
return TokenKind.floatLiteral(text)
768-
case .identifier:
808+
case RawTokenKind.identifier:
769809
return TokenKind.identifier(text)
770-
case .infixQuestionMark:
771-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
810+
case RawTokenKind.infixQuestionMark:
811+
let rawKindString: String? = rawKind.defaultText.map(String.init)
812+
let first: Bool = text.isEmpty
813+
let second: Bool = rawKindString == text
814+
let third = first || second
815+
precondition(third)
772816
return TokenKind.infixQuestionMark
773-
case .integerLiteral:
817+
case RawTokenKind.integerLiteral:
774818
return TokenKind.integerLiteral(text)
775-
case .keyword:
819+
case RawTokenKind.keyword:
776820
var text = text
777821
return text.withSyntaxText { (text: SyntaxText) in
778822
return TokenKind.keyword(Keyword(text)!)
779823
}
780-
case .leftAngle:
781-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
824+
case RawTokenKind.leftAngle:
825+
let rawKindString: String? = rawKind.defaultText.map(String.init)
826+
let first: Bool = text.isEmpty
827+
let second: Bool = rawKindString == text
828+
let third = first || second
829+
precondition(third)
782830
return TokenKind.leftAngle
783-
case .leftBrace:
784-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
831+
case RawTokenKind.leftBrace:
832+
let rawKindString: String? = rawKind.defaultText.map(String.init)
833+
let first: Bool = text.isEmpty
834+
let second: Bool = rawKindString == text
835+
let third = first || second
836+
precondition(third)
785837
return TokenKind.leftBrace
786-
case .leftParen:
787-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
838+
case RawTokenKind.leftParen:
839+
let rawKindString: String? = rawKind.defaultText.map(String.init)
840+
let first: Bool = text.isEmpty
841+
let second: Bool = rawKindString == text
842+
let third = first || second
843+
precondition(third)
788844
return TokenKind.leftParen
789-
case .leftSquare:
790-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
845+
case RawTokenKind.leftSquare:
846+
let rawKindString: String? = rawKind.defaultText.map(String.init)
847+
let first: Bool = text.isEmpty
848+
let second: Bool = rawKindString == text
849+
let third = first || second
850+
precondition(third)
791851
return TokenKind.leftSquare
792-
case .multilineStringQuote:
793-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
852+
case RawTokenKind.multilineStringQuote:
853+
let rawKindString: String? = rawKind.defaultText.map(String.init)
854+
let first: Bool = text.isEmpty
855+
let second: Bool = rawKindString == text
856+
let third = first || second
857+
precondition(third)
794858
return TokenKind.multilineStringQuote
795-
case .period:
796-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
859+
case RawTokenKind.period:
860+
let rawKindString: String? = rawKind.defaultText.map(String.init)
861+
let first: Bool = text.isEmpty
862+
let second: Bool = rawKindString == text
863+
let third = first || second
864+
precondition(third)
797865
return TokenKind.period
798-
case .postfixOperator:
866+
case RawTokenKind.postfixOperator:
799867
return TokenKind.postfixOperator(text)
800-
case .postfixQuestionMark:
801-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
868+
case RawTokenKind.postfixQuestionMark:
869+
let rawKindString: String? = rawKind.defaultText.map(String.init)
870+
let first: Bool = text.isEmpty
871+
let second: Bool = rawKindString == text
872+
let third = first || second
873+
precondition(third)
802874
return TokenKind.postfixQuestionMark
803-
case .pound:
804-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
875+
case RawTokenKind.pound:
876+
let rawKindString: String? = rawKind.defaultText.map(String.init)
877+
let first: Bool = text.isEmpty
878+
let second: Bool = rawKindString == text
879+
let third = first || second
880+
precondition(third)
805881
return TokenKind.pound
806-
case .poundAvailable:
807-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
882+
case RawTokenKind.poundAvailable:
883+
let rawKindString: String? = rawKind.defaultText.map(String.init)
884+
let first: Bool = text.isEmpty
885+
let second: Bool = rawKindString == text
886+
let third = first || second
887+
precondition(third)
808888
return TokenKind.poundAvailable
809-
case .poundElse:
810-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
889+
case RawTokenKind.poundElse:
890+
let rawKindString: String? = rawKind.defaultText.map(String.init)
891+
let first: Bool = text.isEmpty
892+
let second: Bool = rawKindString == text
893+
let third = first || second
894+
precondition(third)
811895
return TokenKind.poundElse
812-
case .poundElseif:
813-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
896+
case RawTokenKind.poundElseif:
897+
let rawKindString: String? = rawKind.defaultText.map(String.init)
898+
let first: Bool = text.isEmpty
899+
let second: Bool = rawKindString == text
900+
let third = first || second
901+
precondition(third)
814902
return TokenKind.poundElseif
815-
case .poundEndif:
816-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
903+
case RawTokenKind.poundEndif:
904+
let rawKindString: String? = rawKind.defaultText.map(String.init)
905+
let first: Bool = text.isEmpty
906+
let second: Bool = rawKindString == text
907+
let third = first || second
908+
precondition(third)
817909
return TokenKind.poundEndif
818-
case .poundIf:
819-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
910+
case RawTokenKind.poundIf:
911+
let rawKindString: String? = rawKind.defaultText.map(String.init)
912+
let first: Bool = text.isEmpty
913+
let second: Bool = rawKindString == text
914+
let third = first || second
915+
precondition(third)
820916
return TokenKind.poundIf
821-
case .poundSourceLocation:
822-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
917+
case RawTokenKind.poundSourceLocation:
918+
let rawKindString: String? = rawKind.defaultText.map(String.init)
919+
let first: Bool = text.isEmpty
920+
let second: Bool = rawKindString == text
921+
let third = first || second
922+
precondition(third)
823923
return TokenKind.poundSourceLocation
824-
case .poundUnavailable:
825-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
924+
case RawTokenKind.poundUnavailable:
925+
let rawKindString: String? = rawKind.defaultText.map(String.init)
926+
let first: Bool = text.isEmpty
927+
let second: Bool = rawKindString == text
928+
let third = first || second
929+
precondition(third)
826930
return TokenKind.poundUnavailable
827-
case .prefixAmpersand:
828-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
931+
case RawTokenKind.prefixAmpersand:
932+
let rawKindString: String? = rawKind.defaultText.map(String.init)
933+
let first: Bool = text.isEmpty
934+
let second: Bool = rawKindString == text
935+
let third = first || second
936+
precondition(third)
829937
return TokenKind.prefixAmpersand
830-
case .prefixOperator:
938+
case RawTokenKind.prefixOperator:
831939
return TokenKind.prefixOperator(text)
832-
case .rawStringPoundDelimiter:
940+
case RawTokenKind.rawStringPoundDelimiter:
833941
return TokenKind.rawStringPoundDelimiter(text)
834-
case .regexLiteralPattern:
942+
case RawTokenKind.regexLiteralPattern:
835943
return TokenKind.regexLiteralPattern(text)
836-
case .regexPoundDelimiter:
944+
case RawTokenKind.regexPoundDelimiter:
837945
return TokenKind.regexPoundDelimiter(text)
838-
case .regexSlash:
839-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
946+
case RawTokenKind.regexSlash:
947+
let rawKindString: String? = rawKind.defaultText.map(String.init)
948+
let first: Bool = text.isEmpty
949+
let second: Bool = rawKindString == text
950+
let third = first || second
951+
precondition(third)
840952
return TokenKind.regexSlash
841-
case .rightAngle:
842-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
953+
case RawTokenKind.rightAngle:
954+
let rawKindString: String? = rawKind.defaultText.map(String.init)
955+
let first: Bool = text.isEmpty
956+
let second: Bool = rawKindString == text
957+
let third = first || second
958+
precondition(third)
843959
return TokenKind.rightAngle
844-
case .rightBrace:
845-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
960+
case RawTokenKind.rightBrace:
961+
let rawKindString: String? = rawKind.defaultText.map(String.init)
962+
let first: Bool = text.isEmpty
963+
let second: Bool = rawKindString == text
964+
let third = first || second
965+
precondition(third)
846966
return TokenKind.rightBrace
847-
case .rightParen:
848-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
967+
case RawTokenKind.rightParen:
968+
let rawKindString: String? = rawKind.defaultText.map(String.init)
969+
let first: Bool = text.isEmpty
970+
let second: Bool = rawKindString == text
971+
let third = first || second
972+
precondition(third)
849973
return TokenKind.rightParen
850-
case .rightSquare:
851-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
974+
case RawTokenKind.rightSquare:
975+
let rawKindString: String? = rawKind.defaultText.map(String.init)
976+
let first: Bool = text.isEmpty
977+
let second: Bool = rawKindString == text
978+
let third = first || second
979+
precondition(third)
852980
return TokenKind.rightSquare
853-
case .semicolon:
854-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
981+
case RawTokenKind.semicolon:
982+
let rawKindString: String? = rawKind.defaultText.map(String.init)
983+
let first: Bool = text.isEmpty
984+
let second: Bool = rawKindString == text
985+
let third = first || second
986+
precondition(third)
855987
return TokenKind.semicolon
856-
case .shebang:
988+
case RawTokenKind.shebang:
857989
return TokenKind.shebang(text)
858-
case .singleQuote:
859-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
990+
case RawTokenKind.singleQuote:
991+
let rawKindString: String? = rawKind.defaultText.map(String.init)
992+
let first: Bool = text.isEmpty
993+
let second: Bool = rawKindString == text
994+
let third = first || second
995+
precondition(third)
860996
return TokenKind.singleQuote
861-
case .stringQuote:
862-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
997+
case RawTokenKind.stringQuote:
998+
let rawKindString: String? = rawKind.defaultText.map(String.init)
999+
let first: Bool = text.isEmpty
1000+
let second: Bool = rawKindString == text
1001+
let third = first || second
1002+
precondition(third)
8631003
return TokenKind.stringQuote
864-
case .stringSegment:
1004+
case RawTokenKind.stringSegment:
8651005
return TokenKind.stringSegment(text)
866-
case .unknown:
1006+
case RawTokenKind.unknown:
8671007
return TokenKind.unknown(text)
868-
case .wildcard:
869-
precondition(text.isEmpty || rawKind.defaultText.map(String.init) == text)
1008+
case RawTokenKind.wildcard:
1009+
let rawKindString: String? = rawKind.defaultText.map(String.init)
1010+
let first: Bool = text.isEmpty
1011+
let second: Bool = rawKindString == text
1012+
let third = first || second
1013+
precondition(third)
8701014
return TokenKind.wildcard
8711015
}
8721016
}

0 commit comments

Comments
 (0)