diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-06-07 22:15:12 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-06-08 15:34:35 +0200 |
commit | 178069e13d841c029bd3cf78773788ad3743e218 (patch) | |
tree | ed58683c7a3fa1ef2c7a204599c9f726c2c01aa3 /src/compiler | |
parent | 5acac4d806eb45afdf1e7716c727a97130b69651 (diff) | |
download | scala-178069e13d841c029bd3cf78773788ad3743e218.tar.gz scala-178069e13d841c029bd3cf78773788ad3743e218.tar.bz2 scala-178069e13d841c029bd3cf78773788ad3743e218.zip |
quickfix for a nasty assertion
Diffstat (limited to 'src/compiler')
-rw-r--r-- | src/compiler/scala/reflect/makro/runtime/Reifiers.scala | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/compiler/scala/reflect/makro/runtime/Reifiers.scala b/src/compiler/scala/reflect/makro/runtime/Reifiers.scala index c578fceb2c..10b5ae5f42 100644 --- a/src/compiler/scala/reflect/makro/runtime/Reifiers.scala +++ b/src/compiler/scala/reflect/makro/runtime/Reifiers.scala @@ -40,13 +40,25 @@ trait Reifiers { Select(tree, ExprSplice) } - object utils extends { - val global: self.global.type = self.global - val typer: global.analyzer.Typer = self.callsiteTyper - } with scala.reflect.reify.utils.Utils - import utils._ + // fixme: if I put utils here, then "global" from utils' early initialization syntax + // and "global" that comes from here conflict with each other when incrementally compiling + // the problem is that both are pickled with the same owner - trait Reifiers + // and this upsets the compiler, so that oftentimes it throws assertion failures + // Martin knows the details + // + // object utils extends { + // val global: self.global.type = self.global + // val typer: global.analyzer.Typer = self.callsiteTyper + // } with scala.reflect.reify.utils.Utils + // import utils._ private def logFreeVars(position: Position, reification: Tree): Unit = { + object utils extends { + val global: self.global.type = self.global + val typer: global.analyzer.Typer = self.callsiteTyper + } with scala.reflect.reify.utils.Utils + import utils._ + def logFreeVars(symtab: SymbolTable): Unit = // logging free vars only when they are untyped prevents avalanches of duplicate messages symtab.syms map (sym => symtab.symDef(sym)) foreach { |