File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed
src/reflect/scala/reflect/internal
test/junit/scala/reflect/internal Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -281,7 +281,6 @@ trait Mirrors extends api.Mirrors {
281
281
282
282
class RootPackage extends ModuleSymbol (rootOwner, NoPosition , nme.ROOTPKG ) with RootSymbol {
283
283
this setInfo NullaryMethodType (RootClass .tpe)
284
- RootClass .sourceModule = this
285
284
286
285
override def isRootPackage = true
287
286
}
@@ -296,6 +295,7 @@ trait Mirrors extends api.Mirrors {
296
295
override def isRoot = true
297
296
override def isEffectiveRoot = true
298
297
override def isNestedClass = false
298
+ override def sourceModule = RootPackage
299
299
}
300
300
301
301
// This is <root>, the actual root of everything except the package _root_.
@@ -316,6 +316,7 @@ trait Mirrors extends api.Mirrors {
316
316
class EmptyPackageClass extends PackageClassSymbol (RootClass , NoPosition , tpnme.EMPTY_PACKAGE_NAME ) with WellKnownSymbol {
317
317
override def isEffectiveRoot = true
318
318
override def isEmptyPackageClass = true
319
+ override def sourceModule = EmptyPackage
319
320
}
320
321
321
322
lazy val EmptyPackageClass = new EmptyPackageClass
Original file line number Diff line number Diff line change
1
+ package scala .reflect .internal
2
+
3
+ import org .junit .Assert ._
4
+ import org .junit .Test
5
+ import org .junit .runner .RunWith
6
+ import org .junit .runners .JUnit4
7
+
8
+ @ RunWith (classOf [JUnit4 ])
9
+ class MirrorsTest {
10
+ @ Test def rootCompanionsAreConnected (): Unit = {
11
+ val cm = scala.reflect.runtime.currentMirror
12
+ import cm ._
13
+ assertEquals(" RootPackage.moduleClass == RootClass" , RootClass , RootPackage .moduleClass)
14
+ assertEquals(" RootClass.module == RootPackage" , RootPackage , RootClass .module)
15
+ assertEquals(" EmptyPackage.moduleClass == EmptyPackageClass" , EmptyPackageClass , EmptyPackage .moduleClass)
16
+ assertEquals(" EmptyPackageClass.module == EmptyPackage" , EmptyPackage , EmptyPackageClass .module)
17
+ }
18
+ }
You can’t perform that action at this time.
0 commit comments