diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-08-25 13:13:03 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-08-25 13:13:03 -0700 |
commit | a3fad0d1d42b4af4b506ce167209bdeea5cd9d5c (patch) | |
tree | dc784783532a1fd7b0d0fc08e7e00ef2aa3ab483 | |
parent | 9e81f0016bc3510482540379dc4e05140b513cee (diff) | |
parent | 654fdb1f84ffff2c5b3c0b0eabc1fdd3946eec83 (diff) | |
download | scala-a3fad0d1d42b4af4b506ce167209bdeea5cd9d5c.tar.gz scala-a3fad0d1d42b4af4b506ce167209bdeea5cd9d5c.tar.bz2 scala-a3fad0d1d42b4af4b506ce167209bdeea5cd9d5c.zip |
Merge pull request #2850 from gourlaysama/wip/t6507-2
SI-6507 completely sidestep handlers in REPL when :silent in on
-rw-r--r-- | src/repl/scala/tools/nsc/interpreter/IMain.scala | 5 | ||||
-rw-r--r-- | src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala | 6 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/IMain.scala b/src/repl/scala/tools/nsc/interpreter/IMain.scala index 9596a360a9..3eafa563bc 100644 --- a/src/repl/scala/tools/nsc/interpreter/IMain.scala +++ b/src/repl/scala/tools/nsc/interpreter/IMain.scala @@ -830,8 +830,6 @@ class IMain(@BeanProperty val factory: ScriptEngineFactory, initialSettings: Set def imports = importedSymbols def value = Some(handlers.last) filter (h => h.definesValue) map (h => definedSymbols(h.definesTerm.get)) getOrElse NoSymbol - val printResults = IMain.this.printResults - val lineRep = new ReadEvalPrint() private var _originalLine: String = null @@ -940,7 +938,8 @@ class IMain(@BeanProperty val factory: ScriptEngineFactory, initialSettings: Set } // compile the result-extraction object - withoutWarnings(lineRep compile ResultObjectSourceCode(handlers)) + val handls = if (printResults) handlers else Nil + withoutWarnings(lineRep compile ResultObjectSourceCode(handls)) } } diff --git a/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala b/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala index c1faf30385..28b95aa442 100644 --- a/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala +++ b/src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala @@ -107,7 +107,7 @@ trait MemberHandlers { override def resultExtractionCode(req: Request): String = { val isInternal = isUserVarName(name) && req.lookupTypeOf(name) == "Unit" - if (!mods.isPublic || isInternal || !req.printResults) "" + if (!mods.isPublic || isInternal) "" else { // if this is a lazy val we avoid evaluating it here val resultString = @@ -151,11 +151,11 @@ trait MemberHandlers { """val %s = %s""".format(name, lhs) /** Print out lhs instead of the generated varName */ - override def resultExtractionCode(req: Request) = if (req.printResults) { + override def resultExtractionCode(req: Request) = { val lhsType = string2code(req lookupTypeOf name) val res = string2code(req fullPath name) """ + "%s: %s = " + %s + "\n" """.format(string2code(lhs.toString), lhsType, res) + "\n" - } else "" + } } class ModuleHandler(module: ModuleDef) extends MemberDefHandler(module) { |