Skip to content

Commit 6d7d66b

Browse files
authored
Merge pull request #1250 from ahoppen/ahoppen/dont-relex-string-literals
Lex string literal segments in the lexer and compose them in the parser
2 parents 980647f + 0e44ec7 commit 6d7d66b

27 files changed

+600
-826
lines changed

CodeGeneration/Sources/SyntaxSupport/gyb_generated/TokenSpec.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@ public let SYNTAX_TOKENS: [TokenSpec] = [
221221
PoundConfigSpec(name: "PoundHasSymbol", kind: "pound__hasSymbol", text: "#_hasSymbol"),
222222
LiteralSpec(name: "IntegerLiteral", kind: "integer_literal", nameForDiagnostics: "integer literal", classification: "IntegerLiteral"),
223223
LiteralSpec(name: "FloatingLiteral", kind: "floating_literal", nameForDiagnostics: "floating literal", classification: "FloatingLiteral"),
224-
LiteralSpec(name: "StringLiteralContents", kind: "string_literal", nameForDiagnostics: "string literal", classification: "StringLiteral"),
225224
LiteralSpec(name: "RegexLiteral", kind: "regex_literal", nameForDiagnostics: "regex literal"),
226225
MiscSpec(name: "Unknown", kind: "unknown", nameForDiagnostics: "token"),
227226
MiscSpec(name: "Identifier", kind: "identifier", nameForDiagnostics: "identifier", classification: "Identifier"),

Sources/IDEUtils/generated/SyntaxClassification.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,8 +242,6 @@ extension RawTokenKind {
242242
return .integerLiteral
243243
case .floatingLiteral:
244244
return .floatingLiteral
245-
case .stringLiteralContents:
246-
return .stringLiteral
247245
case .regexLiteral:
248246
return .none
249247
case .unknown:

Sources/SwiftParser/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ add_swift_host_library(SwiftParser
2424
RawTokenKindSubset.swift
2525
Recovery.swift
2626
Statements.swift
27+
StringLiterals.swift
2728
SyntaxUtils.swift
2829
TokenConsumer.swift
2930
TokenPrecedence.swift

Sources/SwiftParser/Declarations.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1251,7 +1251,7 @@ extension Parser {
12511251
/// consumes the entire regex literal, we're done.
12521252
return self.currentToken.tokenText.withBuffer {
12531253
(buffer: UnsafeBufferPointer<UInt8>) -> Bool in
1254-
var cursor = Lexer.Cursor(input: buffer, previous: 0, state: .normal)
1254+
var cursor = Lexer.Cursor(input: buffer, previous: 0)
12551255
guard buffer[0] == UInt8(ascii: "/") else { return false }
12561256
switch cursor.lexOperatorIdentifier(sourceBufferStart: cursor).tokenKind {
12571257
case .unknown:

0 commit comments

Comments
 (0)