summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2008-07-28 16:42:27 +0000
committerIulian Dragos <jaguarul@gmail.com>2008-07-28 16:42:27 +0000
commitd3b56e4b39fa5964e3876f9f7cdc89d19553f7ac (patch)
tree47279c212eb7e3e469128e00fa9cdc2f00f2e4b1
parentf89b2673402c1d8cbd1b0c305d24d5fadda9ae95 (diff)
downloadscala-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.scala12
-rw-r--r--src/compiler/scala/tools/nsc/ast/Trees.scala2
-rw-r--r--src/library/scala/util/regexp/Base.scala4
-rw-r--r--src/library/scala/util/regexp/WordExp.scala4
-rw-r--r--src/library/scala/xml/pull/XMLEventReader.scala2
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/>