summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-11-20 16:24:13 +0000
committerMartin Odersky <odersky@gmail.com>2007-11-20 16:24:13 +0000
commitdca86389ac01286db3bb4b7a46ac8014744bda31 (patch)
tree4cb713466d1b2fb75be5879baf459324642a85fb /src/compiler
parenta6354053e0b491a1c906f952d636d32c3e887a9c (diff)
downloadscala-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/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala7
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
}