summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/repl/scala/tools/nsc/interpreter/Imports.scala15
-rw-r--r--test/files/run/t7747-repl.check15
2 files changed, 16 insertions, 14 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/Imports.scala b/src/repl/scala/tools/nsc/interpreter/Imports.scala
index 97798cd017..c52869e208 100644
--- a/src/repl/scala/tools/nsc/interpreter/Imports.scala
+++ b/src/repl/scala/tools/nsc/interpreter/Imports.scala
@@ -165,12 +165,17 @@ trait Imports {
case x if isClassBased =>
for (imv <- x.definedNames) {
if (!currentImps.contains(imv)) {
- val valName = req.lineRep.packageName + req.lineRep.readName
- if (!tempValLines.contains(req.lineRep.lineId)) {
- code.append(s"val $valName = $objName\n")
- tempValLines += req.lineRep.lineId
+ x match {
+ case _: ValHandler | _: ModuleHandler =>
+ val valName = req.lineRep.packageName + req.lineRep.readName
+ if (!tempValLines.contains(req.lineRep.lineId)) {
+ code.append(s"val $valName = $objName\n")
+ tempValLines += req.lineRep.lineId
+ }
+ code.append(s"import $valName ${req.accessPath}.`$imv`;\n")
+ case _ =>
+ code.append("import " + objName + req.accessPath + ".`" + imv + "`\n")
}
- code.append(s"import $valName ${req.accessPath}.`$imv`;\n")
currentImps += imv
}
}
diff --git a/test/files/run/t7747-repl.check b/test/files/run/t7747-repl.check
index 6eb8c8cd99..af47f23c62 100644
--- a/test/files/run/t7747-repl.check
+++ b/test/files/run/t7747-repl.check
@@ -258,15 +258,12 @@ class $read extends Serializable {
super.<init>;
()
};
- val $line44$read = $line44.$read.INSTANCE;
- import $line44$read.$iw.$iw.BippyBups;
- import $line44$read.$iw.$iw.BippyBups;
- val $line45$read = $line45.$read.INSTANCE;
- import $line45$read.$iw.$iw.PuppyPups;
- import $line45$read.$iw.$iw.PuppyPups;
- val $line46$read = $line46.$read.INSTANCE;
- import $line46$read.$iw.$iw.Bingo;
- import $line46$read.$iw.$iw.Bingo;
+ import $line44.$read.INSTANCE.$iw.$iw.BippyBups;
+ import $line44.$read.INSTANCE.$iw.$iw.BippyBups;
+ import $line45.$read.INSTANCE.$iw.$iw.PuppyPups;
+ import $line45.$read.INSTANCE.$iw.$iw.PuppyPups;
+ import $line46.$read.INSTANCE.$iw.$iw.Bingo;
+ import $line46.$read.INSTANCE.$iw.$iw.Bingo;
class $iw extends Serializable {
def <init>() = {
super.<init>;