diff options
author | paltherr <paltherr@epfl.ch> | 2003-02-21 12:24:41 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-02-21 12:24:41 +0000 |
commit | b81d58dbc38db6c46e0bec991245fef0d98720f6 (patch) | |
tree | 1c87d9f587abfdcb60872856b65fffa3ff6e777e /sources | |
parent | 5d47aa2f775f0648c9f36610de918613af12a8d3 (diff) | |
download | scala-b81d58dbc38db6c46e0bec991245fef0d98720f6.tar.gz scala-b81d58dbc38db6c46e0bec991245fef0d98720f6.tar.bz2 scala-b81d58dbc38db6c46e0bec991245fef0d98720f6.zip |
- Fixed construction of CompoundType
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scalac/transformer/Erasure.java | 9 |
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; |