summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/RefChecks.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/RefChecks.scala7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
index a5053eb559..c3c353385c 100644
--- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
@@ -523,9 +523,10 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R
// Group missing members by the name of the underlying symbol,
// to consolidate getters and setters.
val grouped = missing groupBy (sym => analyzer.underlyingSymbol(sym).name)
- val missingMethods = grouped.toList map {
- case (name, sym :: Nil) => sym
- case (name, syms) => syms.sortBy(!_.isGetter).head
+ val missingMethods = grouped.toList flatMap {
+ case (name, syms) =>
+ if (syms exists (_.isSetter)) syms filterNot (_.isGetter)
+ else syms
}
def stubImplementations: List[String] = {