diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-02-01 09:16:51 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-02-01 09:16:51 -0800 |
commit | 1e82fd85ec7b72eb38a5fd143b47ee2327b40c96 (patch) | |
tree | e885ef6824b06781878cf4b80516220725f57a16 /src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala | |
parent | 1a3de955b824aa4d946467c5b207133b6839b17d (diff) | |
parent | 8ef0c6cde0625efb2d956bde276eeeedd9dec6e7 (diff) | |
download | scala-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.scala | 4 |
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) |