Skip to content

Commit 765aecb

Browse files
authored
Merge pull request #1429 from dotty-staging/fix-#1426
Fix #1426: Fix varable printing in REPL
2 parents a0ad3f1 + 6fc8193 commit 765aecb

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

src/dotty/tools/dotc/repl/CompilingInterpreter.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ class CompilingInterpreter(
363363
private def objectSourceCode: String =
364364
stringFrom { code =>
365365
// header for the wrapper object
366-
code.println("object " + objectName + " {")
366+
code.println(s"object $objectName{")
367367
code.print(importsPreamble)
368368
code.println(toCompute)
369369
handlers.foreach(_.extraCodeToEvaluate(this,code))
@@ -380,9 +380,9 @@ class CompilingInterpreter(
380380
from objectSourceCode */
381381
private def resultObjectSourceCode: String =
382382
stringFrom(code => {
383-
code.println("object " + resultObjectName)
383+
code.println(s"object $resultObjectName")
384384
code.println("{ val result: String = {")
385-
code.println(objectName + accessPath + ";") // evaluate the object, to make sure its constructor is run
385+
code.println(s"$objectName$accessPath;") // evaluate the object, to make sure its constructor is run
386386
code.print("(\"\"") // print an initial empty string, so later code can
387387
// uniformly be: + morestuff
388388
handlers.foreach(_.resultExtractionCode(this, code))
@@ -705,12 +705,12 @@ class CompilingInterpreter(
705705
override val valAndVarNames = List(helperName)
706706

707707
override def extraCodeToEvaluate(req: Request, code: PrintWriter): Unit = {
708-
code.println("val " + helperName + " = " + statement.lhs + ";")
708+
code.println(i"val $helperName = ${statement.lhs};")
709709
}
710710

711711
/** Print out lhs instead of the generated varName */
712712
override def resultExtractionCode(req: Request, code: PrintWriter): Unit = {
713-
code.print(" + \"" + lhs + ": " +
713+
code.print(" + \"" + lhs.show + ": " +
714714
string2code(req.typeOf(helperName.encode)) +
715715
" = \" + " +
716716
string2code(req.fullPath(helperName))

tests/repl/vars.check

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
scala> var x = 0
2+
x: Int = 0
3+
scala> x = x + 1
4+
x: Int = 1
5+
scala> x *= 2
6+
scala> x
7+
res2: Int = 2
8+
scala> :quit

0 commit comments

Comments
 (0)