diff options
author | Martin Odersky <odersky@gmail.com> | 2007-11-20 16:24:13 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-11-20 16:24:13 +0000 |
commit | dca86389ac01286db3bb4b7a46ac8014744bda31 (patch) | |
tree | 4cb713466d1b2fb75be5879baf459324642a85fb /src | |
parent | a6354053e0b491a1c906f952d636d32c3e887a9c (diff) | |
download | scala-dca86389ac01286db3bb4b7a46ac8014744bda31.tar.gz scala-dca86389ac01286db3bb4b7a46ac8014744bda31.tar.bz2 scala-dca86389ac01286db3bb4b7a46ac8014744bda31.zip |
backed out of the changes that broke the build/...
backed out of the changes that broke the build/test suite. reverted
Symbols.back to pre 13309.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Symbols.scala | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala index b74a7a8dd0..cf89332ae9 100644 --- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala +++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala @@ -902,12 +902,13 @@ trait Symbols { * pre: `this.owner' is in the base class sequence of `base'. */ final def superSymbol(base: Symbol): Symbol = { - var bcs = base.info.baseClasses.dropWhile(owner != _) + var bcs = base.info.baseClasses.dropWhile(owner !=).tail var sym: Symbol = NoSymbol while (!bcs.isEmpty && sym == NoSymbol) { + if (!bcs.head.isImplClass) + sym = matchingSymbol(bcs.head, base.thisType).suchThat( + sym => !sym.hasFlag(DEFERRED)) bcs = bcs.tail - if (!bcs.isEmpty && bcs.head.isImplClass) - sym = matchingSymbol(bcs.head, base.thisType).suchThat(sym => !sym.hasFlag(DEFERRED)) } sym } |