Skip to content

Commit daa5f79

Browse files
committed
Cache all required classes in Definitions
We had 80k references to staticRefs since SubType was not cached.
1 parent 212b8af commit daa5f79

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -390,10 +390,10 @@ class Definitions {
390390
@tu lazy val Predef_identity : Symbol = ScalaPredefModule.requiredMethod(nme.identity)
391391
@tu lazy val Predef_undefined: Symbol = ScalaPredefModule.requiredMethod(nme.???)
392392

393-
def SubTypeClass(using Context): ClassSymbol = requiredClass("scala.<:<")
393+
@tu lazy val SubTypeClass: ClassSymbol = requiredClass("scala.<:<")
394394
@tu lazy val SubType_refl: Symbol = SubTypeClass.companionModule.requiredMethod(nme.refl)
395395

396-
def DummyImplicitClass(using Context): ClassSymbol = requiredClass("scala.DummyImplicit")
396+
@tu lazy val DummyImplicitClass: ClassSymbol = requiredClass("scala.DummyImplicit")
397397

398398
@tu lazy val ScalaRuntimeModule: Symbol = requiredModule("scala.runtime.ScalaRunTime")
399399
def runtimeMethodRef(name: PreName): TermRef = ScalaRuntimeModule.requiredMethodRef(name)

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,6 +1267,8 @@ object Denotations {
12671267
recur(path)
12681268
}
12691269

1270+
private val identity: TermName => Name = x => x
1271+
12701272
/** If we are looking for a non-existing term name in a package,
12711273
* assume it is a package for which we do not have a directory and
12721274
* enter it.

0 commit comments

Comments
 (0)