summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2006-10-06 13:17:57 +0000
committermichelou <michelou@epfl.ch>2006-10-06 13:17:57 +0000
commit137654bb3e0a4ca4ae9f73378f73a0a6772fe607 (patch)
tree978928421385dc619449969a5e1ad845a38c929c /src
parent6aba5aeae5e78bb2c90140443bbe470cec7ab5d5 (diff)
downloadscala-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.scala25
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
}