diff options
author | Simon Ochsenreither <simon@ochsenreither.de> | 2013-03-24 03:19:12 +0100 |
---|---|---|
committer | Simon Ochsenreither <simon@ochsenreither.de> | 2013-04-04 15:25:30 +0200 |
commit | 36da62238be6efd92f2e59d9df6a4b29c4c7dae7 (patch) | |
tree | c92363e65aac5db90e6da3d78b28f29dc40e9385 /src | |
parent | b575c1ed131a578a18239e3922c1ea8b7dd188a2 (diff) | |
download | scala-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.scala | 7 |
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 { |