diff options
author | paltherr <paltherr@epfl.ch> | 2003-11-25 15:28:08 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-11-25 15:28:08 +0000 |
commit | a3a5e047a624e5575005845a9731247214414f0c (patch) | |
tree | abb46740bf19e6ef1cce9586aea31dc4d46782bc | |
parent | 28d3e984f7a78a754d0b815ab1c41b2639ec4457 (diff) | |
download | scala-a3a5e047a624e5575005845a9731247214414f0c.tar.gz scala-a3a5e047a624e5575005845a9731247214414f0c.tar.bz2 scala-a3a5e047a624e5575005845a9731247214414f0c.zip |
- Fixed case Select
-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 0dfb41112b..f4fe0ea044 100644 --- a/sources/scalac/transformer/Erasure.java +++ b/sources/scalac/transformer/Erasure.java @@ -202,12 +202,13 @@ public class Erasure extends GenTransformer implements Modifiers { return genApply(tree.pos, fun, vargs); case Select(Tree qualifier, _): - Type prefix = qualifier.getType(); Symbol symbol = tree.symbol(); + Type prefix = qualifier.type().baseType(symbol.owner()).erasure(); + assert prefix != Type.NoType: tree; qualifier = transform(qualifier); - qualifier = coerce(qualifier, prefix.erasure()); + qualifier = coerce(qualifier, prefix); // Might end up with "box(unbox(...))". That's needed by backend. - if (isUnboxedType(qualifier.getType())) qualifier = box(qualifier); + if (isUnboxedType(prefix)) qualifier = box(qualifier); return gen.Select(tree.pos, qualifier, symbol); case Ident(_): |