summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2009-09-25 19:56:41 +0000
committermichelou <michelou@epfl.ch>2009-09-25 19:56:41 +0000
commit15eb9333fa7fddc458f1c79da8ff1270ce990db2 (patch)
tree5898043971c2581f95889e92035a39fd3b16173a /src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
parent0c50ba867782ce737b99f1f108103b7ba53a1a50 (diff)
downloadscala-15eb9333fa7fddc458f1c79da8ff1270ce990db2.tar.gz
scala-15eb9333fa7fddc458f1c79da8ff1270ce990db2.tar.bz2
scala-15eb9333fa7fddc458f1c79da8ff1270ce990db2.zip
reverted 'doArg' change made in r18738, removed...
reverted 'doArg' change made in r18738, removed a few warnings
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 03526665dd..2ee768b592 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -1,3 +1,9 @@
+/* NSC -- new Scala compiler
+ * Copyright 2005-2009 LAMP/EPFL
+ * @author Iulian Dragos
+ */
+// $Id$
+
package scala.tools.nsc
package transform
@@ -190,8 +196,8 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
val tvars = if (sym.isClass) env.keySet
else specializedTypeVars(sym.info).intersect(env.keySet)
val (methparams, others) = tvars.toList.partition(_.owner.isMethod)
- val tvars1 = methparams.sort(_.name.toString < _.name.toString)
- val tvars2 = others.sort(_.name.toString < _.name.toString)
+ val tvars1 = methparams.sortWith(_.name.toString < _.name.toString)
+ val tvars2 = others.sortWith(_.name.toString < _.name.toString)
log("specName(" + sym + ") env " + env)
specializedName(sym.name, tvars1 map env, tvars2 map env)
}
@@ -1036,8 +1042,8 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
// replace value and type paremeters of the old method with the new ones
val symSubstituter = new ImplementationAdapter(
- List.flatten(parameters(target)) ::: origtparams,
- List.flatten(vparamss1).map(_.symbol) ::: newtparams)
+ parameters(target).flatten ::: origtparams,
+ vparamss1.flatten.map(_.symbol) ::: newtparams)
val adapter = new AdaptSpecializedValues
val tmp = symSubstituter(adapter(body(target).duplicate))
tpt.tpe = tpt.tpe.substSym(oldtparams, newtparams)