Skip to content

Commit 449fa4c

Browse files
committed
Merge pull request scala#4234 from JanBessai/ShowCodeEscapeFix
SI-9057 - fix `showCode` to put backticks around names including dots
2 parents 0561239 + a622302 commit 449fa4c

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/reflect/scala/reflect/internal/Printers.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,10 +546,11 @@ trait Printers extends api.Printers { self: SymbolTable =>
546546
import Chars._
547547
val decName = name.decoded
548548
val bslash = '\\'
549+
val isDot = (x: Char) => x == '.'
549550
val brackets = List('[',']','(',')','{','}')
550551

551552
def addBackquotes(s: String) =
552-
if (decoded && (decName.exists(ch => brackets.contains(ch) || isWhitespace(ch)) ||
553+
if (decoded && (decName.exists(ch => brackets.contains(ch) || isWhitespace(ch) || isDot(ch)) ||
553554
(name.isOperatorName && decName.exists(isOperatorPart) && decName.exists(isScalaLetter) && !decName.contains(bslash))))
554555
s"`$s`" else s
555556

test/junit/scala/reflect/internal/PrintersTest.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ trait BasePrintTests {
125125
@Test def testName19 = assertPrintedCode("""class `class`""")
126126

127127
@Test def testName20 = assertPrintedCode("""class `test name`""")
128+
129+
@Test def testName21 = assertPrintedCode("""class `test.name`""")
128130

129131
@Test def testIfExpr1 = assertResultCode(code = sm"""
130132
|val a = 1

0 commit comments

Comments
 (0)