summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/internal/TreeGen.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/reflect/internal/TreeGen.scala')
-rw-r--r--src/compiler/scala/reflect/internal/TreeGen.scala27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/compiler/scala/reflect/internal/TreeGen.scala b/src/compiler/scala/reflect/internal/TreeGen.scala
index cc882ad5ed..e537c6b83f 100644
--- a/src/compiler/scala/reflect/internal/TreeGen.scala
+++ b/src/compiler/scala/reflect/internal/TreeGen.scala
@@ -250,19 +250,20 @@ abstract class TreeGen {
* var x: T = _
* which is appropriate to the given Type.
*/
- def mkZero(tp: Type): Tree = Literal(mkConstantZero(tp)) setType tp
-
- def mkConstantZero(tp: Type): Constant = tp.typeSymbol match {
- case UnitClass => Constant(())
- case BooleanClass => Constant(false)
- case FloatClass => Constant(0.0f)
- case DoubleClass => Constant(0.0d)
- case ByteClass => Constant(0.toByte)
- case ShortClass => Constant(0.toShort)
- case IntClass => Constant(0)
- case LongClass => Constant(0L)
- case CharClass => Constant(0.toChar)
- case _ => Constant(null)
+ def mkZero(tp: Type): Tree = {
+ val tree = tp.typeSymbol match {
+ case UnitClass => Literal(Constant())
+ case BooleanClass => Literal(Constant(false))
+ case FloatClass => Literal(Constant(0.0f))
+ case DoubleClass => Literal(Constant(0.0d))
+ case ByteClass => Literal(Constant(0.toByte))
+ case ShortClass => Literal(Constant(0.toShort))
+ case IntClass => Literal(Constant(0))
+ case LongClass => Literal(Constant(0L))
+ case CharClass => Literal(Constant(0.toChar))
+ case _ => Literal(Constant(null))
+ }
+ tree setType tp
}
def mkZeroContravariantAfterTyper(tp: Type): Tree = {