summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2012-05-02 10:19:05 -0700
committerSom Snytt <som.snytt@gmail.com>2012-05-02 22:21:51 -0700
commitaabe71f989f023d64b6c52680485e4cacb4e88b9 (patch)
tree6ad9b57f2a04d79dc2d38e9b5f06ba71c8688e33 /src/compiler
parentb27abca41a2503747b3aeeecf8b8cb355159265f (diff)
downloadscala-aabe71f989f023d64b6c52680485e4cacb4e88b9.tar.gz
scala-aabe71f989f023d64b6c52680485e4cacb4e88b9.tar.bz2
scala-aabe71f989f023d64b6c52680485e4cacb4e88b9.zip
SI-5720: Qual block doesn't update sym owner
A one-line change to blockWithQualifier. The symptom is undefined tmp var symbols in the backend; lamba lift thinks the tmp var is free and adds it to anonfun ctors.
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala b/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
index 898a9fee9f..90e388c30a 100644
--- a/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
@@ -155,6 +155,8 @@ trait NamesDefaults { self: Analyzer =>
val sym = blockTyper.context.owner.newValue(unit.freshTermName("qual$"), qual.pos) setInfo qual.tpe
blockTyper.context.scope enter sym
val vd = atPos(sym.pos)(ValDef(sym, qual) setType NoType)
+ // it stays in Vegas: SI-5720, SI-5727
+ qual changeOwner (blockTyper.context.owner -> sym)
var baseFunTransformed = atPos(baseFun.pos.makeTransparent) {
// don't use treeCopy: it would assign opaque position.