summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2015-07-02 15:36:17 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2015-07-02 15:36:17 -0700
commit8d119e61068811c6cf333dcfbbca0aed2f6fb4f8 (patch)
treed3da8e1a7caa4c5937e5eb86f043d0010e5fd855
parent4fe9fdc4cfde60e02805f4079cf74682c4550de6 (diff)
parent8ec12f60264fcd4f1203d778866220834e818e34 (diff)
downloadscala-8d119e61068811c6cf333dcfbbca0aed2f6fb4f8.tar.gz
scala-8d119e61068811c6cf333dcfbbca0aed2f6fb4f8.tar.bz2
scala-8d119e61068811c6cf333dcfbbca0aed2f6fb4f8.zip
Merge pull request #4600 from adriaanm/fixup-4564-checkinit
Correct init order between Pasted and ILoop#pasted
-rw-r--r--src/repl/scala/tools/nsc/interpreter/Pasted.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/Pasted.scala b/src/repl/scala/tools/nsc/interpreter/Pasted.scala
index 5f388eb15b..f8d8c2ddb1 100644
--- a/src/repl/scala/tools/nsc/interpreter/Pasted.scala
+++ b/src/repl/scala/tools/nsc/interpreter/Pasted.scala
@@ -21,7 +21,13 @@ abstract class Pasted {
def PromptString: String
def AltPromptString: String = "scala> "
- private val testBoth = PromptString != AltPromptString
+ /* `testBoth` cannot be a val, as `Pasted` is inherited by `object paste` in ILoop,
+ which would cause `val testBoth` to be initialized before `val PromptString` was.
+
+ object paste extends Pasted {
+ val PromptString = prompt.lines.toList.last
+ */
+ private def testBoth = PromptString != AltPromptString
private val spacey = " \t".toSet
def matchesPrompt(line: String) = matchesString(line, PromptString) || testBoth && matchesString(line, AltPromptString)