diff options
author | Som Snytt <som.snytt@gmail.com> | 2013-07-27 14:49:57 -0700 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2013-08-12 11:59:20 -0700 |
commit | 67d94f681fe17b18bb9ba1a3cec0a15a48bc3251 (patch) | |
tree | 7a2bdc5afbb48a6b5de130467337e56ddae7250d /src/compiler/scala/tools/nsc/ast/parser/Scanners.scala | |
parent | e7876d5c41bbea0ee4679815edb5dc1ecef4c6a9 (diff) | |
download | scala-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.scala | 4 |
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 { |