summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-07-23 15:21:15 +0000
committerschinz <schinz@epfl.ch>2003-07-23 15:21:15 +0000
commit673eec6972f12ced407dbde137ea9710c7bb6915 (patch)
tree3980437ceeda67d27aea90cc231e72d9ef761c56 /sources
parente52bd695091ef017e3a326a4647f14a9e75905f9 (diff)
downloadscala-673eec6972f12ced407dbde137ea9710c7bb6915.tar.gz
scala-673eec6972f12ced407dbde137ea9710c7bb6915.tar.bz2
scala-673eec6972f12ced407dbde137ea9710c7bb6915.zip
- do not put abstract methods in classes
Diffstat (limited to 'sources')
-rw-r--r--sources/scalac/transformer/AddInterfaces.java2
-rw-r--r--sources/scalac/transformer/AddInterfacesPhase.java7
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;