Skip to content

Commit 9e8bfae

Browse files
authored
Merge pull request #862 from kasiaMarek/eval-for-empty-package
fix: correctly load class with an empty package from mirror
2 parents b7cad6b + 71164c6 commit 9e8bfae

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

modules/expression-compiler/src/main/scala-2/scala/tools/nsc/evaluation/ExpressionGlobal.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ private[nsc] class ExpressionGlobal(
5252

5353
// definitions
5454
lazy val expressionClass: ClassSymbol =
55-
if (pckg.isEmpty) rootMirror.getRequiredClass(expressionClassName.toString)
55+
if (pckg.isEmpty) rootMirror.staticClass(expressionClassName.toString())
5656
else rootMirror.getRequiredClass(s"$pckg.$expressionClassName")
5757
lazy val evaluate: TermSymbol = expressionDecl("evaluate")
5858
lazy val reflectEval: TermSymbol = expressionDecl("reflectEval")

modules/tests/src/test/scala/ch/epfl/scala/debugadapter/ScalaEvaluationTests.scala

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2759,4 +2759,20 @@ abstract class ScalaEvaluationTests(scalaVersion: ScalaVersion) extends DebugTes
27592759
Evaluation.success("1 + 2", 3)
27602760
)
27612761
}
2762+
2763+
test("empty package") {
2764+
val source =
2765+
"""|object Main {
2766+
| def main(args: Array[String]): Unit = {
2767+
| println(1 + 2)
2768+
| }
2769+
|}
2770+
|""".stripMargin
2771+
implicit val debuggee: TestingDebuggee =
2772+
TestingDebuggee.mainClass(source, "Main", scalaVersion)
2773+
check(
2774+
Breakpoint(3),
2775+
Evaluation.success("List(1,2,3).head", 1)
2776+
)
2777+
}
27622778
}

0 commit comments

Comments
 (0)