Skip to content

Commit 88bee16

Browse files
committed
Avoid reloading AnyVal
1 parent e50bf71 commit 88bee16

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

compiler/src/dotty/tools/dotc/core/Definitions.scala

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,14 @@ class Definitions {
271271
def AnyType: TypeRef = AnyClass.typeRef
272272
@tu lazy val ScrutableClass: ClassSymbol = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.Scrutable, Abstract, AnyType :: Nil), ensureCtor = false)
273273
def ScrutableType: TypeRef = ScrutableClass.typeRef
274-
@tu lazy val AnyValClass: ClassSymbol = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.AnyVal, Abstract, List(ScrutableType)))
274+
@tu lazy val AnyValClass: ClassSymbol =
275+
val res = completeClass(enterCompleteClassSymbol(ScalaPackageClass, tpnme.AnyVal, Abstract, List(ScrutableType)))
276+
// Mark companion as absent, so that class does not get re-completed
277+
val companion = ScalaPackageVal.info.decl(nme.AnyVal).symbol
278+
companion.moduleClass.markAbsent()
279+
companion.markAbsent()
280+
res
281+
275282
def AnyValType: TypeRef = AnyValClass.typeRef
276283

277284
@tu lazy val Any_== : TermSymbol = enterMethod(AnyClass, nme.EQ, methOfAny(BooleanType), Final)

0 commit comments

Comments
 (0)