summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-11-27 10:00:44 +0000
committerMartin Odersky <odersky@gmail.com>2009-11-27 10:00:44 +0000
commitb06fc095fcde65af1c7db11feb1dc37cf91beca7 (patch)
treeacfc6cc85b5b9b8964ae8257bb01fd9583fca9a5 /src
parent3d10835062e0b0601026612f414c333269db609f (diff)
downloadscala-b06fc095fcde65af1c7db11feb1dc37cf91beca7.tar.gz
scala-b06fc095fcde65af1c7db11feb1dc37cf91beca7.tar.bz2
scala-b06fc095fcde65af1c7db11feb1dc37cf91beca7.zip
Made Symbols.filter more robost.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
index 1634e04025..2369456b11 100644
--- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
@@ -1079,8 +1079,9 @@ trait Symbols {
else if (alts1.isEmpty) NoSymbol
else if (alts1.tail.isEmpty) alts1.head
else owner.newOverloaded(info.prefix, alts1)
- } else if (cond(this)) this
- else NoSymbol
+ } else if (this == NoSymbol || cond(this)) {
+ this
+ } else NoSymbol
def suchThat(cond: Symbol => Boolean): Symbol = {
val result = filter(cond)