diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2008-07-28 16:42:27 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2008-07-28 16:42:27 +0000 |
commit | d3b56e4b39fa5964e3876f9f7cdc89d19553f7ac (patch) | |
tree | 47279c212eb7e3e469128e00fa9cdc2f00f2e4b1 | |
parent | f89b2673402c1d8cbd1b0c305d24d5fadda9ae95 (diff) | |
download | scala-d3b56e4b39fa5964e3876f9f7cdc89d19553f7ac.tar.gz scala-d3b56e4b39fa5964e3876f9f7cdc89d19553f7ac.tar.bz2 scala-d3b56e4b39fa5964e3876f9f7cdc89d19553f7ac.zip |
Fixed initialization order issues (when -Xexper...
Fixed initialization order issues (when -Xexperimental is turned on).
-rw-r--r-- | src/compiler/scala/tools/nsc/Interpreter.scala | 12 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/Trees.scala | 2 | ||||
-rw-r--r-- | src/library/scala/util/regexp/Base.scala | 4 | ||||
-rw-r--r-- | src/library/scala/util/regexp/WordExp.scala | 4 | ||||
-rw-r--r-- | src/library/scala/xml/pull/XMLEventReader.scala | 2 |
5 files changed, 12 insertions, 12 deletions
diff --git a/src/compiler/scala/tools/nsc/Interpreter.scala b/src/compiler/scala/tools/nsc/Interpreter.scala index 452c0085c7..1fbc80ab82 100644 --- a/src/compiler/scala/tools/nsc/Interpreter.scala +++ b/src/compiler/scala/tools/nsc/Interpreter.scala @@ -590,7 +590,7 @@ class Interpreter(val settings: Settings, out: PrintWriter) { ivt.traverseTrees(List(member)) ivt.importVars.toList } - val boundNames: List[Name] = Nil + def boundNames: List[Name] = Nil def valAndVarNames: List[Name] = Nil def defNames: List[Name] = Nil val importsWildcard = false @@ -609,7 +609,7 @@ class Interpreter(val settings: Settings, out: PrintWriter) { private class GenericHandler(member: Tree) extends MemberHandler(member) private class ValHandler(member: ValDef) extends MemberHandler(member) { - override val boundNames = List(member.name) + override lazy val boundNames = List(member.name) override def valAndVarNames = boundNames override def resultExtractionCode(req: Request, code: PrintWriter) { @@ -635,7 +635,7 @@ class Interpreter(val settings: Settings, out: PrintWriter) { } private class DefHandler(defDef: DefDef) extends MemberHandler(defDef) { - override val boundNames = List(defDef.name) + override lazy val boundNames = List(defDef.name) override def defNames = boundNames override def resultExtractionCode(req: Request, code: PrintWriter) { @@ -666,7 +666,7 @@ class Interpreter(val settings: Settings, out: PrintWriter) { } private class ModuleHandler(module: ModuleDef) extends MemberHandler(module) { - override val boundNames = List(module.name) + override lazy val boundNames = List(module.name) override def resultExtractionCode(req: Request, code: PrintWriter) { code.println(" + \"defined module " + @@ -678,7 +678,7 @@ class Interpreter(val settings: Settings, out: PrintWriter) { private class ClassHandler(classdef: ClassDef) extends MemberHandler(classdef) { - override val boundNames = + override lazy val boundNames = List(classdef.name) ::: (if (classdef.mods.hasFlag(Flags.CASE)) List(classdef.name.toTermName) @@ -703,7 +703,7 @@ class Interpreter(val settings: Settings, out: PrintWriter) { private class TypeAliasHandler(typeDef: TypeDef) extends MemberHandler(typeDef) { - override val boundNames = + override lazy val boundNames = if (typeDef.mods.isPublic && compiler.treeInfo.isAliasTypeDef(typeDef)) List(typeDef.name) else diff --git a/src/compiler/scala/tools/nsc/ast/Trees.scala b/src/compiler/scala/tools/nsc/ast/Trees.scala index 85ced9d301..32d7573a6a 100644 --- a/src/compiler/scala/tools/nsc/ast/Trees.scala +++ b/src/compiler/scala/tools/nsc/ast/Trees.scala @@ -35,7 +35,7 @@ trait Trees { val trees: Trees.this.type = Trees.this } with TreePrinters - val treePrinter = treePrinters.create() + lazy val treePrinter = treePrinters.create() object treeInfo extends { val trees: Trees.this.type = Trees.this diff --git a/src/library/scala/util/regexp/Base.scala b/src/library/scala/util/regexp/Base.scala index ee67a29b38..598a09ef86 100644 --- a/src/library/scala/util/regexp/Base.scala +++ b/src/library/scala/util/regexp/Base.scala @@ -53,11 +53,11 @@ abstract class Base { } case class Star(r: _regexpT) extends RegExp { - final val isNullable = true + final lazy val isNullable = true } case object Eps extends RegExp { - final val isNullable = true + final lazy val isNullable = true override def toString() = "Eps" } diff --git a/src/library/scala/util/regexp/WordExp.scala b/src/library/scala/util/regexp/WordExp.scala index 062b766e92..e5c6cd9960 100644 --- a/src/library/scala/util/regexp/WordExp.scala +++ b/src/library/scala/util/regexp/WordExp.scala @@ -45,12 +45,12 @@ abstract class WordExp extends Base { type _labelT <: Label case class Letter(a: _labelT) extends RegExp { - final val isNullable = false + final lazy val isNullable = false var pos = -1 } case class Wildcard() extends RegExp { - final val isNullable = false + final lazy val isNullable = false var pos = -1 } } diff --git a/src/library/scala/xml/pull/XMLEventReader.scala b/src/library/scala/xml/pull/XMLEventReader.scala index e17a9e0017..d51cae45b0 100644 --- a/src/library/scala/xml/pull/XMLEventReader.scala +++ b/src/library/scala/xml/pull/XMLEventReader.scala @@ -105,7 +105,7 @@ class XMLEventReader extends Iterator[XMLEvent] { class Parser extends MarkupHandler with MarkupParser with ExternalSources with Runnable { val preserveWS = true - val input = XMLEventReader.this.getSource + lazy val input = XMLEventReader.this.getSource // document must contain one element - avoid spurious syntax error final val ignore_node = <ignore/> |