diff options
-rw-r--r-- | src/repl/scala/tools/nsc/interpreter/Imports.scala | 15 | ||||
-rw-r--r-- | test/files/run/t7747-repl.check | 15 |
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>; |