summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-03-08 17:30:05 +0100
committerJason Zaugg <jzaugg@gmail.com>2014-03-08 17:30:05 +0100
commit973f2255481c0ee3c9954d361ef3941186495c8f (patch)
tree970f946780fd7633f6c08f6f9fa52b7c555c6b6d /src
parent6feaba678519dd4ff32d816e8c2c71989df1ceca (diff)
parent10154cf27d4e8f9f9be5411fb6bfb9b8fbe62ebc (diff)
downloadscala-973f2255481c0ee3c9954d361ef3941186495c8f.tar.gz
scala-973f2255481c0ee3c9954d361ef3941186495c8f.tar.bz2
scala-973f2255481c0ee3c9954d361ef3941186495c8f.zip
Merge pull request #3610 from xeno-by/ticket/8369
SI-8369 resetAttrs now correctly accounts for skolems
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/ast/Trees.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/Trees.scala b/src/compiler/scala/tools/nsc/ast/Trees.scala
index 9ca06427e8..3652f51153 100644
--- a/src/compiler/scala/tools/nsc/ast/Trees.scala
+++ b/src/compiler/scala/tools/nsc/ast/Trees.scala
@@ -240,6 +240,7 @@ trait Trees extends scala.reflect.internal.Trees { self: Global =>
registerLocal(sym.moduleClass)
registerLocal(sym.companionClass)
registerLocal(sym.companionModule)
+ registerLocal(sym.deSkolemize)
sym match {
case sym: TermSymbol => registerLocal(sym.referenced)
case _ => ;
@@ -309,7 +310,7 @@ trait Trees extends scala.reflect.internal.Trees { self: Global =>
// if we move these trees into lexical contexts different from their original locations.
if (dupl.hasSymbol) {
val sym = dupl.symbol
- val vetoScope = !brutally && !(locals contains sym)
+ val vetoScope = !brutally && !(locals contains sym) && !(locals contains sym.deSkolemize)
val vetoThis = dupl.isInstanceOf[This] && sym.isPackageClass
if (!(vetoScope || vetoThis)) dupl.symbol = NoSymbol
}