summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-08-28 17:05:08 +0000
committerMartin Odersky <odersky@gmail.com>2008-08-28 17:05:08 +0000
commitb85a3d25fcba0e6c6f056b926d02e87fc3b5b041 (patch)
tree3712943f46dbe46bb7a13ef97aa8c2fe56d20ffc /src/compiler/scala/tools/nsc/transform
parent44bd48af53d309272941b79962490ec295f7a7ea (diff)
downloadscala-b85a3d25fcba0e6c6f056b926d02e87fc3b5b041.tar.gz
scala-b85a3d25fcba0e6c6f056b926d02e87fc3b5b041.tar.bz2
scala-b85a3d25fcba0e6c6f056b926d02e87fc3b5b041.zip
Fixed #1280, #1289
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform')
-rw-r--r--src/compiler/scala/tools/nsc/transform/Mixin.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/Mixin.scala b/src/compiler/scala/tools/nsc/transform/Mixin.scala
index ddbd83daae..ab020716d2 100644
--- a/src/compiler/scala/tools/nsc/transform/Mixin.scala
+++ b/src/compiler/scala/tools/nsc/transform/Mixin.scala
@@ -122,7 +122,10 @@ abstract class Mixin extends InfoTransform {
def isOverriddenAccessor(member: Symbol, bcs: List[Symbol]): Boolean = atPhase(ownPhase) {
def hasOverridingAccessor(clazz: Symbol) = {
clazz.info.nonPrivateDecl(member.name).alternatives.exists(
- sym => isConcreteAccessor(sym) && matchesType(sym.tpe, member.tpe, true))
+ sym =>
+ isConcreteAccessor(sym) &&
+ !sym.hasFlag(MIXEDIN) &&
+ matchesType(sym.tpe, member.tpe, true))
}
bcs.head != member.owner &&
(hasOverridingAccessor(bcs.head) || isOverriddenAccessor(member, bcs.tail))