summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scala/tools/scalac/ast/parser/Scanner.scala14
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;
}
}