diff options
author | schinz <schinz@epfl.ch> | 2003-07-23 15:21:15 +0000 |
---|---|---|
committer | schinz <schinz@epfl.ch> | 2003-07-23 15:21:15 +0000 |
commit | 673eec6972f12ced407dbde137ea9710c7bb6915 (patch) | |
tree | 3980437ceeda67d27aea90cc231e72d9ef761c56 | |
parent | e52bd695091ef017e3a326a4647f14a9e75905f9 (diff) | |
download | scala-673eec6972f12ced407dbde137ea9710c7bb6915.tar.gz scala-673eec6972f12ced407dbde137ea9710c7bb6915.tar.bz2 scala-673eec6972f12ced407dbde137ea9710c7bb6915.zip |
- do not put abstract methods in classes
-rw-r--r-- | sources/scalac/transformer/AddInterfaces.java | 2 | ||||
-rw-r--r-- | sources/scalac/transformer/AddInterfacesPhase.java | 7 |
2 files changed, 3 insertions, 6 deletions
diff --git a/sources/scalac/transformer/AddInterfaces.java b/sources/scalac/transformer/AddInterfaces.java index f2916e1d27..87266aa5e4 100644 --- a/sources/scalac/transformer/AddInterfaces.java +++ b/sources/scalac/transformer/AddInterfaces.java @@ -301,7 +301,7 @@ class AddInterfaces extends Transformer { Tree t = classBody[i]; Symbol tSym = t.symbol(); - if (t.hasSymbol() && phase.memberMovesToInterface(tSym)) + if (t.hasSymbol() && !classMemberMap.containsKey(tSym)) continue; Tree newT = transform(t); diff --git a/sources/scalac/transformer/AddInterfacesPhase.java b/sources/scalac/transformer/AddInterfacesPhase.java index 9d3d5965d0..6a7f9181d2 100644 --- a/sources/scalac/transformer/AddInterfacesPhase.java +++ b/sources/scalac/transformer/AddInterfacesPhase.java @@ -138,10 +138,6 @@ public class AddInterfacesPhase extends PhaseDescriptor { || (member.isMethod() && !member.isPrimaryConstructor()); } - protected boolean memberMovesToInterface(Symbol member) { - return member.isType(); - } - protected Type removeValueParams(Type tp) { switch (tp) { case MethodType(Symbol[] vparams, Type result): @@ -247,7 +243,8 @@ public class AddInterfacesPhase extends PhaseDescriptor { while (ifaceMembersIt.hasNext()) { Symbol ifaceMemberSym = ifaceMembersIt.next(); - if (memberMovesToInterface(ifaceMemberSym) + if (ifaceMemberSym.isType() + || ifaceMemberSym.isDeferred() || ifaceMemberSym.isPrimaryConstructor()) continue; |