summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-02-21 12:24:41 +0000
committerpaltherr <paltherr@epfl.ch>2003-02-21 12:24:41 +0000
commitb81d58dbc38db6c46e0bec991245fef0d98720f6 (patch)
tree1c87d9f587abfdcb60872856b65fffa3ff6e777e
parent5d47aa2f775f0648c9f36610de918613af12a8d3 (diff)
downloadscala-b81d58dbc38db6c46e0bec991245fef0d98720f6.tar.gz
scala-b81d58dbc38db6c46e0bec991245fef0d98720f6.tar.bz2
scala-b81d58dbc38db6c46e0bec991245fef0d98720f6.zip
- Fixed construction of CompoundType
-rw-r--r--sources/scalac/transformer/Erasure.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/sources/scalac/transformer/Erasure.java b/sources/scalac/transformer/Erasure.java
index fee6b4dfbc..f35ecd9bf4 100644
--- a/sources/scalac/transformer/Erasure.java
+++ b/sources/scalac/transformer/Erasure.java
@@ -471,18 +471,19 @@ public class Erasure extends Transformer implements Modifiers {
TreeList body1 = new TreeList(transform(templ.body));
body1.append(bridges);
if (bridges.length() > 0) {
- switch (clazz.nextInfo()) {
- case CompoundType(Type[] basetypes, Scope members):
+ Type info = clazz.nextInfo();
+ switch (info) {
+ case CompoundType(Type[] parts, Scope members):
members = new Scope(members);
for (int i = 0; i < bridges.length(); i++) {
Tree bridge = (Tree)bridges.get(i);
members.enterOrOverload(bridge.symbol());
}
- clazz.updateInfo(Type.CompoundType(basetypes, members));
+ clazz.updateInfo(Type.compoundType(parts, members, info.symbol()));
break;
default:
throw Debug.abort("class = " + Debug.show(clazz) + ", " +
- "info = " + Debug.show(clazz.info()));
+ "info = " + Debug.show(info));
}
}
bridges = savedBridges;