summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2013-07-27 14:49:57 -0700
committerSom Snytt <som.snytt@gmail.com>2013-08-12 11:59:20 -0700
commit67d94f681fe17b18bb9ba1a3cec0a15a48bc3251 (patch)
tree7a2bdc5afbb48a6b5de130467337e56ddae7250d /src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
parente7876d5c41bbea0ee4679815edb5dc1ecef4c6a9 (diff)
downloadscala-67d94f681fe17b18bb9ba1a3cec0a15a48bc3251.tar.gz
scala-67d94f681fe17b18bb9ba1a3cec0a15a48bc3251.tar.bz2
scala-67d94f681fe17b18bb9ba1a3cec0a15a48bc3251.zip
SI-7715 String inpatternation s"$_" for s"${_}"
In a pattern, ``` scala> implicit class RX(val sc: StringContext) { | def rx = sc.parts.mkString("(.+)").r } defined class RX scala> "2 by 4" match { case rx"$a by $_" => a } res0: String = 2 scala> val rx"$_ by $b" = "2 by 4" b: String = 4 ```
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast/parser/Scanners.scala')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Scanners.scala4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
index 2a8412b105..6957f85689 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
@@ -741,6 +741,10 @@ trait Scanners extends ScannersCommon {
finishStringPart()
nextRawChar()
next.token = LBRACE
+ } else if (ch == '_') {
+ finishStringPart()
+ nextRawChar()
+ next.token = USCORE
} else if (Character.isUnicodeIdentifierStart(ch)) {
finishStringPart()
do {