File tree Expand file tree Collapse file tree 4 files changed +33
-2
lines changed Expand file tree Collapse file tree 4 files changed +33
-2
lines changed Original file line number Diff line number Diff line change @@ -1062,7 +1062,7 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
10621062 if (sym.isImport)
10631063 sym.infoOrCompleter match {
10641064 case info : Namer # Completer => return info.original.show
1065- case info : ImportType => return s " import $info.expr.show "
1065+ case info : ImportType => return s " import ${ info.expr.show} "
10661066 case _ =>
10671067 }
10681068 def name =
Original file line number Diff line number Diff line change @@ -62,8 +62,8 @@ class ReplCompiler extends Compiler:
6262 }
6363
6464 val rootCtx = super .rootContext.fresh
65- .setOwner(defn.EmptyPackageClass )
6665 .withRootImports
66+ .fresh.setOwner(defn.EmptyPackageClass ): Context
6767 (state.validObjectIndexes).foldLeft(rootCtx)((ctx, id) =>
6868 importPreviousRun(id)(using ctx))
6969 }
Original file line number Diff line number Diff line change @@ -32,6 +32,20 @@ class ShadowingBatchTests extends ErrorMessagesTest:
3232 ictx.setSetting(classpath, classpath.value + File .pathSeparator + dir.jpath.toAbsolutePath)
3333 }
3434
35+ @ Test def io =
36+ val lib = """ |package io.foo
37+ |
38+ |object Bar {
39+ | def baz: Int = 42
40+ |}
41+ |""" .stripMargin
42+ val app = """ |object Main:
43+ | def main(args: Array[String]): Unit =
44+ | println(io.foo.Bar.baz)
45+ |""" .stripMargin
46+ checkMessages(lib).expectNoErrors
47+ checkMessages(app).expectNoErrors
48+
3549 @ Test def file =
3650 checkMessages(" class C(val c: Int)" ).expectNoErrors
3751 checkMessages(" object rsline1 {\n def line1 = new C().c\n }" ).expect { (_, msgs) =>
Original file line number Diff line number Diff line change @@ -76,6 +76,18 @@ class ShadowingTests extends ReplTest(options = ShadowingTests.options):
7676 Files .delete(file)
7777 end compileShadowed
7878
79+ @ Test def io = shadowedScriptedTest(name = " io" ,
80+ shadowed = """ |package io.foo
81+ |
82+ |object Bar {
83+ | def baz: Int = 42
84+ |}
85+ |""" .stripMargin,
86+ script = """ |scala> io.foo.Bar.baz
87+ |val res0: Int = 42
88+ |""" .stripMargin
89+ )
90+
7991 @ Test def i7635 = shadowedScriptedTest(name = " <i7635>" ,
8092 shadowed = " class C(val c: Int)" ,
8193 script =
@@ -129,6 +141,11 @@ class ShadowingTests extends ReplTest(options = ShadowingTests.options):
129141 ShadowingTests .createSubDir(" util" )
130142 testScript(name = " <shadow-subdir-util>" ,
131143 """ |scala> import util.Try
144+ |-- [E008] Not Found Error: -----------------------------------------------------
145+ |1 | import util.Try
146+ | | ^^^
147+ | | value Try is not a member of util
148+ |1 error found
132149 |
133150 |scala> object util { class Try { override def toString = "you've gotta try!" } }
134151 |// defined object util
You can’t perform that action at this time.
0 commit comments