diff options
author | Som Snytt <som.snytt@gmail.com> | 2014-01-28 22:05:25 -0800 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2014-01-29 09:46:52 -0800 |
commit | b5e13c92691d3269fec7bcc065c43d85aceac276 (patch) | |
tree | 2d112094860feab70157a3b85501072b5ce0dd1b | |
parent | da929c86696787f91c1cee775b158faeb23a9b50 (diff) | |
download | scala-b5e13c92691d3269fec7bcc065c43d85aceac276.tar.gz scala-b5e13c92691d3269fec7bcc065c43d85aceac276.tar.bz2 scala-b5e13c92691d3269fec7bcc065c43d85aceac276.zip |
SI-7322 Interpolator idents must be encoded
Otherwise, they are not found.
This matters for term names with a differential encoding.
Footnote, normally ident() encodes, but INTERPOLATIONID
is !isIdent, so that is not used here. Maybe that would
be the better improvement.
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/parser/Parsers.scala | 2 | ||||
-rw-r--r-- | test/files/pos/t7322.scala | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala index 0728fff74f..577d4a267c 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala @@ -1219,7 +1219,7 @@ self => // Like Swiss cheese, with holes def stringCheese: Tree = atPos(in.offset) { val start = in.offset - val interpolator = in.name + val interpolator = in.name.encoded // ident() for INTERPOLATIONID val partsBuf = new ListBuffer[Tree] val exprBuf = new ListBuffer[Tree] diff --git a/test/files/pos/t7322.scala b/test/files/pos/t7322.scala new file mode 100644 index 0000000000..006bf89e9f --- /dev/null +++ b/test/files/pos/t7322.scala @@ -0,0 +1,11 @@ + +package object t7322 { + implicit class X(sc: StringContext) { + def x_?(args: Any*) = "hi there" + } +} +package t7322 { + trait Y { + x_?"junk" // assume that if it compiles, it works + } +} |