diff options
author | Paul Phillips <paulp@improving.org> | 2012-01-03 14:16:24 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-01-05 14:06:11 -0800 |
commit | c40be502a2ed4ef34eff726836b76ed13b03da78 (patch) | |
tree | 7fa10b0706f051da319ae1db7c8a61afcfedb41c /src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala | |
parent | 64107de6cba37f796bd7c6b86509cefba312f91d (diff) | |
download | scala-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.scala | 9 |
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) |