diff options
-rw-r--r-- | sources/scala/tools/scalac/ast/parser/Scanner.scala | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sources/scala/tools/scalac/ast/parser/Scanner.scala b/sources/scala/tools/scalac/ast/parser/Scanner.scala index ff523722a7..ffb5c34f17 100644 --- a/sources/scala/tools/scalac/ast/parser/Scanner.scala +++ b/sources/scala/tools/scalac/ast/parser/Scanner.scala @@ -422,8 +422,18 @@ class Scanner(_unit: Unit) extends TokenData { syntaxError("illegal character"); return; case _ => - nextch(); - syntaxError("illegal character"); + + if( java.lang.Character.getType( ch ).asInstanceOf[Byte] match { + case java.lang.Character.MATH_SYMBOL => true; + case java.lang.Character.OTHER_SYMBOL => true; + case _ => false;}) { + putChar( ch ); + treatIdent; + nextch(); + } else { + nextch(); + syntaxError("illegal character"); + }; return; } } |