summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorpaltherr <paltherr@epfl.ch>2003-09-11 17:52:23 +0000
committerpaltherr <paltherr@epfl.ch>2003-09-11 17:52:23 +0000
commitbda0fb8228e32c98f37c42f86da2bc10d80256cb (patch)
treec5d2d8540bae00c022afc496fa89d0ce12697c8b /sources
parenta6cc836dda592bbcae2fd43fe9ec6289a55ce402 (diff)
downloadscala-bda0fb8228e32c98f37c42f86da2bc10d80256cb.tar.gz
scala-bda0fb8228e32c98f37c42f86da2bc10d80256cb.tar.bz2
scala-bda0fb8228e32c98f37c42f86da2bc10d80256cb.zip
- Modified to not use type of template
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/ExpandMixins.java7
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();