summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2014-02-01 09:16:51 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-02-01 09:16:51 -0800
commit1e82fd85ec7b72eb38a5fd143b47ee2327b40c96 (patch)
treee885ef6824b06781878cf4b80516220725f57a16 /src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
parent1a3de955b824aa4d946467c5b207133b6839b17d (diff)
parent8ef0c6cde0625efb2d956bde276eeeedd9dec6e7 (diff)
downloadscala-1e82fd85ec7b72eb38a5fd143b47ee2327b40c96.tar.gz
scala-1e82fd85ec7b72eb38a5fd143b47ee2327b40c96.tar.bz2
scala-1e82fd85ec7b72eb38a5fd143b47ee2327b40c96.zip
Merge pull request #3444 from retronym/topic/opt6
Avoid generic collections operations hot paths
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 42c929baed..c59b726076 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -439,10 +439,10 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
else
specializedTypeVars(sym.typeParams zip args collect { case (tp, arg) if tp.isSpecialized => arg })
- case PolyType(tparams, resTpe) => specializedTypeVars(resTpe :: tparams.map(_.info))
+ case PolyType(tparams, resTpe) => specializedTypeVars(resTpe :: mapList(tparams)(symInfo)) // OPT
// since this method may be run at phase typer (before uncurry, where NMTs are eliminated)
case NullaryMethodType(resTpe) => specializedTypeVars(resTpe)
- case MethodType(argSyms, resTpe) => specializedTypeVars(resTpe :: argSyms.map(_.tpe))
+ case MethodType(argSyms, resTpe) => specializedTypeVars(resTpe :: mapList(argSyms)(symTpe)) // OPT
case ExistentialType(_, res) => specializedTypeVars(res)
case AnnotatedType(_, tp) => specializedTypeVars(tp)
case TypeBounds(lo, hi) => specializedTypeVars(lo :: hi :: Nil)