diff options
author | michelou <michelou@epfl.ch> | 2006-10-06 13:17:57 +0000 |
---|---|---|
committer | michelou <michelou@epfl.ch> | 2006-10-06 13:17:57 +0000 |
commit | 137654bb3e0a4ca4ae9f73378f73a0a6772fe607 (patch) | |
tree | 978928421385dc619449969a5e1ad845a38c929c /src | |
parent | 6aba5aeae5e78bb2c90140443bbe470cec7ab5d5 (diff) | |
download | scala-137654bb3e0a4ca4ae9f73378f73a0a6772fe607.tar.gz scala-137654bb3e0a4ca4ae9f73378f73a0a6772fe607.tar.bz2 scala-137654bb3e0a4ca4ae9f73378f73a0a6772fe607.zip |
fixed method toString for character constants
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Types.scala | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala index a3d466db56..60f6ea424b 100644 --- a/src/compiler/scala/tools/nsc/symtab/Types.scala +++ b/src/compiler/scala/tools/nsc/symtab/Types.scala @@ -838,17 +838,22 @@ trait Types requires SymbolTable { override def symbol: Symbol = value.tpe.symbol override def singleDeref: Type = value.tpe override def deconst: Type = value.tpe - private def escape(text: String): String = { - val buf = new StringBuffer - for (val c <- Iterator.fromString(text)) - if (Character.isISOControl(c)) - buf.append("\\0" + Integer.toOctalString(c.asInstanceOf[Int])) - else - buf.append(c) - buf.toString + override def toString(): String = { + def escape(text: String): String = { + val buf = new StringBuffer + for (val c <- Iterator.fromString(text)) + if (Character.isISOControl(c)) + buf.append("\\0" + Integer.toOctalString(c.asInstanceOf[Int])) + else + buf.append(c) + buf.toString + } + val svalue = + if (value.tag == CharTag) "'" + escape(value.stringValue) + "'" + else if (value.tag == StringTag) "\"" + escape(value.stringValue) + "\"" + else value.stringValue + value.tpe.toString() + "(" + svalue + ")" } - override def toString(): String = - value.tpe.toString() + "(\"" + escape(value.stringValue) + "\")" // override def isNullable: boolean = value.value == null // override def isNonNull: boolean = value.value != null } |