diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-03-08 17:30:05 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-03-08 17:30:05 +0100 |
commit | 973f2255481c0ee3c9954d361ef3941186495c8f (patch) | |
tree | 970f946780fd7633f6c08f6f9fa52b7c555c6b6d /src | |
parent | 6feaba678519dd4ff32d816e8c2c71989df1ceca (diff) | |
parent | 10154cf27d4e8f9f9be5411fb6bfb9b8fbe62ebc (diff) | |
download | scala-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.scala | 3 |
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 } |