diff options
author | paltherr <paltherr@epfl.ch> | 2003-02-21 15:17:51 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-02-21 15:17:51 +0000 |
commit | 6b2fcfb659d0de010e56f05a458ee4e2fb7a5be2 (patch) | |
tree | fd0d40182be599c5fbf016e34cedd90164b2c28b /sources | |
parent | b81d58dbc38db6c46e0bec991245fef0d98720f6 (diff) | |
download | scala-6b2fcfb659d0de010e56f05a458ee4e2fb7a5be2.tar.gz scala-6b2fcfb659d0de010e56f05a458ee4e2fb7a5be2.tar.bz2 scala-6b2fcfb659d0de010e56f05a458ee4e2fb7a5be2.zip |
- Removed a type-tree transformation in case Typed
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/transformer/Erasure.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sources/scalac/transformer/Erasure.java b/sources/scalac/transformer/Erasure.java index f35ecd9bf4..5501d67140 100644 --- a/sources/scalac/transformer/Erasure.java +++ b/sources/scalac/transformer/Erasure.java @@ -390,7 +390,10 @@ public class Erasure extends Transformer implements Modifiers { case Typed(Tree expr, Tree tpe): // coerce expr to tpe - Tree tpe1 = transform(tpe); + Tree tpe1 = gen.mkType(tpe.pos, tpe.type().erasure()); // !!! was transform(tpe); + // !!! More generally, we should never transform a tree + // that represents a type. We should always transform + // types and then reconstruct the corresponding tree. Tree expr1 = transform(expr, tpe1.type); return noTyped ? expr1 : copy.Typed(tree, expr1, tpe1).setType(owntype); |