summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-06-07 22:15:12 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-06-08 15:34:35 +0200
commit178069e13d841c029bd3cf78773788ad3743e218 (patch)
treeed58683c7a3fa1ef2c7a204599c9f726c2c01aa3 /src
parent5acac4d806eb45afdf1e7716c727a97130b69651 (diff)
downloadscala-178069e13d841c029bd3cf78773788ad3743e218.tar.gz
scala-178069e13d841c029bd3cf78773788ad3743e218.tar.bz2
scala-178069e13d841c029bd3cf78773788ad3743e218.zip
quickfix for a nasty assertion
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/reflect/makro/runtime/Reifiers.scala22
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 {