summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-02-21 15:17:51 +0000
committerpaltherr <paltherr@epfl.ch>2003-02-21 15:17:51 +0000
commit6b2fcfb659d0de010e56f05a458ee4e2fb7a5be2 (patch)
treefd0d40182be599c5fbf016e34cedd90164b2c28b /sources
parentb81d58dbc38db6c46e0bec991245fef0d98720f6 (diff)
downloadscala-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.java5
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);