Skip to content

Commit b753383

Browse files
committed
.
1 parent 9ef2e0b commit b753383

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

compiler/src/dotty/tools/dotc/parsing/Parsers.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1468,7 +1468,7 @@ object Parsers {
14681468
// Check if this is a dedented string (non-interpolated)
14691469
// For non-interpolated dedented strings, check if the token starts with '''
14701470
val str = in.strVal
1471-
if (token == STRINGLIT && !inStringInterpolation && isDedentedStringLiteral(negOffset)) {
1471+
if (str != null && token == STRINGLIT && !inStringInterpolation && isDedentedStringLiteral(negOffset)) {
14721472
extractClosingIndent(str, negOffset) match {
14731473
case Some(closingIndent) => dedentString(str, negOffset, closingIndent, true, true)
14741474
case None => str

compiler/src/dotty/tools/dotc/parsing/Scanners.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1292,6 +1292,11 @@ object Scanners {
12921292
}
12931293

12941294
// Must be followed by a newline
1295+
if (ch == SU) {
1296+
incompleteInputError(em"unclosed dedented string literal")
1297+
token = STRINGLIT
1298+
return 0
1299+
}
12951300
if (ch != LF && ch != CR) {
12961301
error(em"dedented string literal must start with newline after opening quotes")
12971302
token = ERROR

0 commit comments

Comments
 (0)