summaryrefslogtreecommitdiff
path: root/src/repl
diff options
context:
space:
mode:
authorJens <DieBauer@users.noreply.github.com>2016-05-13 12:56:52 +0200
committerLukas Rytz <lukas.rytz@typesafe.com>2016-05-13 12:56:52 +0200
commita33b0853452a625ac93eada7d5f265ed09f8e362 (patch)
tree7f8afbd7dafecdf839973d9d803a36c780476b28 /src/repl
parentf66a230f909858bf39ffdb154727157bc7cd54a5 (diff)
downloadscala-a33b0853452a625ac93eada7d5f265ed09f8e362.tar.gz
scala-a33b0853452a625ac93eada7d5f265ed09f8e362.tar.bz2
scala-a33b0853452a625ac93eada7d5f265ed09f8e362.zip
Add check to scala REPL package to improve feedback about implicits (#5159)
When the repl is started with additional compiler flags that prevent implicits being in scope (like -Yno-predef) the default message of implicits in scope using :implicits stays the same. This additional check will return the same message if predef is indeed in scope and an adjusted message if Predef is not in scope.
Diffstat (limited to 'src/repl')
-rw-r--r--src/repl/scala/tools/nsc/interpreter/package.scala12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/package.scala b/src/repl/scala/tools/nsc/interpreter/package.scala
index 56f1e65376..7de1dda15f 100644
--- a/src/repl/scala/tools/nsc/interpreter/package.scala
+++ b/src/repl/scala/tools/nsc/interpreter/package.scala
@@ -88,9 +88,6 @@ package object interpreter extends ReplConfig with ReplStrings {
}
}
- if (filtered.isEmpty)
- return "No implicits have been imported other than those in Predef."
-
filtered foreach {
case (source, syms) =>
p("/* " + syms.size + " implicit members imported from " + source.fullName + " */")
@@ -126,7 +123,14 @@ package object interpreter extends ReplConfig with ReplStrings {
}
p("")
}
- ""
+
+ if (filtered.nonEmpty)
+ "" // side-effects above
+ else if (global.settings.nopredef || global.settings.noimports)
+ "No implicits have been imported."
+ else
+ "No implicits have been imported other than those in Predef."
+
}
def kindCommandInternal(expr: String, verbose: Boolean): Unit = {