summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon Ochsenreither <simon@ochsenreither.de>2013-03-24 03:19:12 +0100
committerSimon Ochsenreither <simon@ochsenreither.de>2013-04-04 15:25:30 +0200
commit36da62238be6efd92f2e59d9df6a4b29c4c7dae7 (patch)
treec92363e65aac5db90e6da3d78b28f29dc40e9385 /src
parentb575c1ed131a578a18239e3922c1ea8b7dd188a2 (diff)
downloadscala-36da62238be6efd92f2e59d9df6a4b29c4c7dae7.tar.gz
scala-36da62238be6efd92f2e59d9df6a4b29c4c7dae7.tar.bz2
scala-36da62238be6efd92f2e59d9df6a4b29c4c7dae7.zip
SI-7292 Deprecate octal escape literals
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Scanners.scala7
1 files changed, 7 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 eb31f7a66e..88ff21a90d 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
@@ -789,6 +789,7 @@ trait Scanners extends ScannersCommon {
if (ch == '\\') {
nextChar()
if ('0' <= ch && ch <= '7') {
+ val start = charOffset - 2
val leadch: Char = ch
var oct: Int = digit2int(ch, 8)
nextChar()
@@ -800,6 +801,12 @@ trait Scanners extends ScannersCommon {
nextChar()
}
}
+ val alt = if (oct == LF) "\\n" else "\\u%04x" format oct
+ def msg(what: String) = s"Octal escape literals are $what, use $alt instead."
+ if (settings.future)
+ syntaxError(start, msg("unsupported"))
+ else
+ deprecationWarning(start, msg("deprecated"))
putChar(oct.toChar)
} else {
ch match {