diff options
Diffstat (limited to 'sources/scalac/transformer/Erasure.java')
-rw-r--r-- | sources/scalac/transformer/Erasure.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sources/scalac/transformer/Erasure.java b/sources/scalac/transformer/Erasure.java index acb14659cb..7d7a4c2659 100644 --- a/sources/scalac/transformer/Erasure.java +++ b/sources/scalac/transformer/Erasure.java @@ -26,6 +26,7 @@ import scalac.ast.Tree.AliasTypeDef; import scalac.ast.Tree.ValDef; import scalac.ast.TreeList; import scalac.ast.GenTransformer; +import scalac.atree.AConstant; import scalac.symtab.Definitions; import scalac.symtab.Kinds; import scalac.symtab.Type; @@ -221,6 +222,9 @@ public class Erasure extends GenTransformer implements Modifiers { if (symbol == definitions.ZERO) return gen.mkNullLit(tree.pos); return gen.Ident(tree.pos, symbol); + case Literal(AConstant.ZERO): + return gen.mkNullLit(tree.pos); + case Block(_): case If(_, _, _): case Switch(_, _, _, _): @@ -276,9 +280,6 @@ public class Erasure extends GenTransformer implements Modifiers { Tree value = transform(gen.mkDefaultValue(tree.pos, pt), pt); return gen.mkBlock(new Tree[] {transform(tree), value}); - case Typed(Tree expr, _): // !!! - return transform(expr, pt); - case LabelDef(_, _, _): case Assign(_, _): case New(_): |