summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschinz <schinz@epfl.ch>2003-10-29 16:16:04 +0000
committerschinz <schinz@epfl.ch>2003-10-29 16:16:04 +0000
commit813005cff33688de9444894bd3d89ac1a4ab0628 (patch)
tree27ce194f92df40c3a06837d24faa8d482ec7235d
parentd8beafde508558cdf44131680acb57f66b265939 (diff)
downloadscala-813005cff33688de9444894bd3d89ac1a4ab0628.tar.gz
scala-813005cff33688de9444894bd3d89ac1a4ab0628.tar.bz2
scala-813005cff33688de9444894bd3d89ac1a4ab0628.zip
- bug fix: clear FINAL flag for interfaces and ...
- bug fix: clear FINAL flag for interfaces and their members
-rw-r--r--sources/scalac/transformer/AddInterfacesPhase.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/sources/scalac/transformer/AddInterfacesPhase.java b/sources/scalac/transformer/AddInterfacesPhase.java
index fb19268c26..fec5d87a80 100644
--- a/sources/scalac/transformer/AddInterfacesPhase.java
+++ b/sources/scalac/transformer/AddInterfacesPhase.java
@@ -193,6 +193,7 @@ public class AddInterfacesPhase extends Phase {
if (classSym == null) {
classSym = ifaceSym.cloneSymbol(ifaceSym.owner());
classSym.name = className(ifaceSym.name);
+ ifaceSym.flags &= ~Modifiers.FINAL;
classSym.flags &= ~Modifiers.INTERFACE;
// Remove non-primary constructors from interface
@@ -253,6 +254,7 @@ public class AddInterfacesPhase extends Phase {
ifaceMemberSym.flags ^= Modifiers.PROTECTED;
classMemberSym = ifaceMemberSym.cloneSymbol(classSym);
+ ifaceMemberSym.flags &= ~Modifiers.FINAL;
classMemberSym.setInfo(
thisTypeMap.applyParams(
classSubst.applyParams(