summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-06-20 17:50:41 +0000
committerMartin Odersky <odersky@gmail.com>2008-06-20 17:50:41 +0000
commit71d6e44fde734f9b76b843e5630633920d2e6b88 (patch)
tree42d2c3013c09ac7f517fe5e5fd532f6629a1d0f0
parent1324218fd520c7a2e326b7c40c7bbb1a1dbb4803 (diff)
downloadscala-71d6e44fde734f9b76b843e5630633920d2e6b88.tar.gz
scala-71d6e44fde734f9b76b843e5630633920d2e6b88.tar.bz2
scala-71d6e44fde734f9b76b843e5630633920d2e6b88.zip
removed pre-supercall moving of valdefs
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala4
-rw-r--r--src/compiler/scala/tools/nsc/transform/Constructors.scala5
2 files changed, 7 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index e3f6bf85db..62836bc91c 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -47,8 +47,10 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
//def this() = this(new Settings, new ConsoleReporter)
// sub-components --------------------------------------------------
- object nodePrinters extends NodePrinters {
+
+ object nodePrinters extends {
val global: Global.this.type = Global.this
+ } with NodePrinters {
infolevel = InfoLevel.Verbose
}
val nodeToString = nodePrinters.nodeToString
diff --git a/src/compiler/scala/tools/nsc/transform/Constructors.scala b/src/compiler/scala/tools/nsc/transform/Constructors.scala
index cbfcc2cc58..823888784f 100644
--- a/src/compiler/scala/tools/nsc/transform/Constructors.scala
+++ b/src/compiler/scala/tools/nsc/transform/Constructors.scala
@@ -107,7 +107,10 @@ abstract class Constructors extends Transform {
// Should tree be moved in front of super constructor call?
def canBeMoved(tree: Tree) = tree match {
//todo: eliminate thisRefSeen
- case ValDef(mods, _, _, _) => (mods hasFlag PRESUPER | PARAMACCESSOR) || !thisRefSeen
+ case ValDef(mods, _, _, _) =>
+// if (!(mods hasFlag PRESUPER | PARAMACCESSOR) && !thisRefSeen)
+// println("not moving forward in "+clazz+": "+tree)
+ (mods hasFlag PRESUPER | PARAMACCESSOR)// || !thisRefSeen
case _ => false
}