summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2010-08-23 08:51:53 +0000
committerIulian Dragos <jaguarul@gmail.com>2010-08-23 08:51:53 +0000
commitbd6914a7c215bd8cfadf858bf43b64a4d59860b9 (patch)
treee5554965367b7c6f307d073538c511e2d6367fca /src
parenta43eac751087b55dc7b22b0e387547a3919ac291 (diff)
downloadscala-bd6914a7c215bd8cfadf858bf43b64a4d59860b9.tar.gz
scala-bd6914a7c215bd8cfadf858bf43b64a4d59860b9.tar.bz2
scala-bd6914a7c215bd8cfadf858bf43b64a4d59860b9.zip
Specialize rhs of specialized fields.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 0b461c0911..98c513c30e 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -1218,11 +1218,14 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
val tree1 = treeCopy.ValDef(tree, mods, name, tpt, body(symbol.alias).duplicate)
if (settings.debug.value) log("now typing: " + tree1 + " in " + tree.symbol.owner.fullName)
val d = new Duplicator
- d.retyped(localTyper.context1.asInstanceOf[d.Context],
+ val tree2 = d.retyped(localTyper.context1.asInstanceOf[d.Context],
tree1,
symbol.alias.enclClass,
symbol.enclClass,
typeEnv(symbol.alias) ++ typeEnv(tree.symbol))
+ val ValDef(mods1, name1, tpt1, rhs1) = tree2
+ treeCopy.ValDef(tree1, mods1, name1, tpt1, transform(rhs1))
+
// val tree1 =
// treeCopy.ValDef(tree, mods, name, tpt,
// localTyper.typed(