diff options
author | paltherr <paltherr@epfl.ch> | 2003-09-11 17:52:23 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-09-11 17:52:23 +0000 |
commit | bda0fb8228e32c98f37c42f86da2bc10d80256cb (patch) | |
tree | c5d2d8540bae00c022afc496fa89d0ce12697c8b | |
parent | a6cc836dda592bbcae2fd43fe9ec6289a55ce402 (diff) | |
download | scala-bda0fb8228e32c98f37c42f86da2bc10d80256cb.tar.gz scala-bda0fb8228e32c98f37c42f86da2bc10d80256cb.tar.bz2 scala-bda0fb8228e32c98f37c42f86da2bc10d80256cb.zip |
- Modified to not use type of template
-rw-r--r-- | sources/scalac/transformer/ExpandMixins.java | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sources/scalac/transformer/ExpandMixins.java b/sources/scalac/transformer/ExpandMixins.java index 48d81ec4c3..a4619cc393 100644 --- a/sources/scalac/transformer/ExpandMixins.java +++ b/sources/scalac/transformer/ExpandMixins.java @@ -99,7 +99,7 @@ public class ClassExpander { inlineMixinTParams(type); Tree.Apply constr = (Tree.Apply)template.parents[i]; inlineMixinVParams(mixin.valueParams(), constr.args); - inlineMixinMembers(impl); + inlineMixinMembers(mixin.nextInfo().members(), impl); parents[i] = Type.TypeRef(prefix, iface, args); template.parents[i] = gen.mkPrimaryConstr(constr.pos, parents[i]); state = i; @@ -125,7 +125,7 @@ public class ClassExpander { body.append(superFixer.transform(template.body)); template.body = body.toArray(); // !!! *1 fix ExpandMixinsPhase.transformInfo and remove next line - clasz.updateInfo(template.type()); + clasz.updateInfo(Type.compoundType(parents, members, clasz)); state = 0; return template; } @@ -161,8 +161,7 @@ public class ClassExpander { } } - private void inlineMixinMembers(Template mixin) { - Scope symbols = mixin.type().members(); + private void inlineMixinMembers(Scope symbols, Template mixin) { // The map names is used to implement an all or nothing // strategy for overloaded symbols. Map/*<Name,Name>*/ names = new HashMap(); |