summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-01-03 14:16:24 -0800
committerPaul Phillips <paulp@improving.org>2012-01-05 14:06:11 -0800
commitc40be502a2ed4ef34eff726836b76ed13b03da78 (patch)
tree7fa10b0706f051da319ae1db7c8a61afcfedb41c /src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
parent64107de6cba37f796bd7c6b86509cefba312f91d (diff)
downloadscala-c40be502a2ed4ef34eff726836b76ed13b03da78.tar.gz
scala-c40be502a2ed4ef34eff726836b76ed13b03da78.tar.bz2
scala-c40be502a2ed4ef34eff726836b76ed13b03da78.zip
Consolidated misc collections helper methods.
Streamlining some of our more common operations.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
index a0ef2f5e2e..cde531adc1 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
@@ -321,12 +321,9 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT
val code = DefDef(protAcc, {
val (receiver :: _) :: tail = protAcc.paramss
val base: Tree = Select(Ident(receiver), sym)
- val allParamTypes = sym.tpe.paramss map (xs => xs map (_.tpe))
-
- (tail zip allParamTypes).foldLeft(base) {
- case (fn, (params, tpes)) =>
- Apply(fn, params zip tpes map { case (p, tp) => makeArg(p, receiver, tp) })
- }
+ val allParamTypes = mapParamss(sym)(_.tpe)
+ val args = map2(tail, allParamTypes)((params, tpes) => map2(params, tpes)(makeArg(_, receiver, _)))
+ args.foldLeft(base)(Apply(_, _))
})
debuglog("" + code)