diff options
author | Jan Bessai <Jan.Bessai@tu-dortmund.de> | 2015-01-07 10:52:10 +0100 |
---|---|---|
committer | Jan Bessai <Jan.Bessai@tu-dortmund.de> | 2015-01-07 10:52:10 +0100 |
commit | a622302e2bdf9932648954bf3fb1463b2442209f (patch) | |
tree | 9034ae78030c0f6512c6b20ccf1dad6d7c03a0a9 /src/reflect | |
parent | 3fafbc204fe2ce94e64c6893e74e3855dc875ae8 (diff) | |
download | scala-a622302e2bdf9932648954bf3fb1463b2442209f.tar.gz scala-a622302e2bdf9932648954bf3fb1463b2442209f.tar.bz2 scala-a622302e2bdf9932648954bf3fb1463b2442209f.zip |
SI-9057 - fix `showCode` to put backticks around names including dots
Missing backticks cause the parser to treat names as paths, which is
obviously invalid.
A unit test is included.
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/Printers.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Printers.scala b/src/reflect/scala/reflect/internal/Printers.scala index c4953b2c1f..98b2c48379 100644 --- a/src/reflect/scala/reflect/internal/Printers.scala +++ b/src/reflect/scala/reflect/internal/Printers.scala @@ -546,10 +546,11 @@ trait Printers extends api.Printers { self: SymbolTable => import Chars._ val decName = name.decoded val bslash = '\\' + val isDot = (x: Char) => x == '.' val brackets = List('[',']','(',')','{','}') def addBackquotes(s: String) = - if (decoded && (decName.exists(ch => brackets.contains(ch) || isWhitespace(ch)) || + if (decoded && (decName.exists(ch => brackets.contains(ch) || isWhitespace(ch) || isDot(ch)) || (name.isOperatorName && decName.exists(isOperatorPart) && decName.exists(isScalaLetter) && !decName.contains(bslash)))) s"`$s`" else s |