Skip to content

Commit 7ab8caa

Browse files
committed
Don't recompute symbols per run
1 parent 1abbf4e commit 7ab8caa

File tree

7 files changed

+217
-225
lines changed

7 files changed

+217
-225
lines changed

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

Lines changed: 206 additions & 217 deletions
Large diffs are not rendered by default.

compiler/src/dotty/tools/dotc/transform/Erasure.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ object Erasure {
260260
case (JavaArrayType(treeElem), JavaArrayType(ptElem))
261261
if treeElem.widen.isPrimitiveValueType && !ptElem.isPrimitiveValueType =>
262262
// See SI-2386 for one example of when this might be necessary.
263-
cast(ref(defn.runtimeMethodRef(nme.toObjectArray)).appliedTo(tree), pt)
263+
cast(ref(defn.runtimeMethod(nme.toObjectArray)).appliedTo(tree), pt)
264264

265265
// When casting between two EVTs, we need to check which one underlies the other to determine
266266
// whether u2evt or evt2u should be used.
@@ -507,9 +507,9 @@ object Erasure {
507507
}
508508

509509
private def runtimeCallWithProtoArgs(name: Name, pt: Type, args: Tree*)(implicit ctx: Context): Tree = {
510-
val meth = defn.runtimeMethodRef(name)
511-
val followingParams = meth.symbol.info.firstParamTypes.drop(args.length)
512-
val followingArgs = protoArgs(pt, meth.widen).zipWithConserve(followingParams)(typedExpr).asInstanceOf[List[tpd.Tree]]
510+
val meth = defn.runtimeMethod(name)
511+
val followingParams = meth.info.firstParamTypes.drop(args.length)
512+
val followingArgs = protoArgs(pt, meth.info).zipWithConserve(followingParams)(typedExpr).asInstanceOf[List[tpd.Tree]]
513513
ref(meth).appliedToArgs(args.toList ++ followingArgs)
514514
}
515515

compiler/src/dotty/tools/dotc/transform/GenericSignatures.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ object GenericSignatures {
208208
else if (sym == defn.NothingClass)
209209
jsig(defn.RuntimeNothingModuleRef)
210210
else if (sym == defn.NullClass)
211-
jsig(defn.RuntimeNullModuleRef)
211+
jsig(defn.RuntimeNullModule.termRef)
212212
else if (sym.isPrimitiveValueClass) {
213213
if (!primitiveOK) jsig(defn.ObjectType)
214214
else if (sym == defn.UnitClass) jsig(defn.BoxedUnitClass.typeRef)

compiler/src/dotty/tools/dotc/transform/InterceptedMethods.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class InterceptedMethods extends MiniPhase {
5353
val s = tree.tpe.widen.typeSymbol
5454

5555
def staticsCall(methodName: TermName): Tree =
56-
ref(defn.staticsMethodRef(methodName)).appliedTo(tree)
56+
ref(defn.staticsMethod(methodName)).appliedTo(tree)
5757

5858
if (s == defn.NullClass) Literal(Constant(0))
5959
else if (s == defn.DoubleClass) staticsCall(nme.doubleHash)

compiler/src/dotty/tools/dotc/transform/SyntheticMembers.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ class SyntheticMembers(thisPhase: DenotTransformer) {
112112
coord = clazz.coord).enteredAfter(thisPhase).asTerm
113113

114114
def forwardToRuntime(vrefs: List[Tree]): Tree =
115-
ref(defn.runtimeMethodRef("_" + sym.name.toString)).appliedToArgs(This(clazz) :: vrefs)
115+
ref(defn.runtimeMethod("_" + sym.name.toString)).appliedToArgs(This(clazz) :: vrefs)
116116

117117
def ownName: Tree =
118118
Literal(Constant(clazz.name.stripModuleClassSuffix.toString))

compiler/src/dotty/tools/dotc/transform/TypeTestsCasts.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ object TypeTestsCasts {
286286
}
287287
case defn.MultiArrayOf(elem, ndims) if isUnboundedGeneric(elem) =>
288288
def isArrayTest(arg: Tree) =
289-
ref(defn.runtimeMethodRef(nme.isArray)).appliedTo(arg, Literal(Constant(ndims)))
289+
ref(defn.runtimeMethod(nme.isArray)).appliedTo(arg, Literal(Constant(ndims)))
290290
if (ndims == 1) isArrayTest(expr)
291291
else evalOnce(expr) { e =>
292292
derivedTree(e, defn.Any_isInstanceOf, e.tpe)

compiler/test/dotc/pos-test-pickling.blacklist

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,6 @@ matchtype.scala
2121

2222
# Opaque type
2323
i5720.scala
24+
25+
# Redefines types in the Scala package
26+
seqtype-cycle

0 commit comments

Comments
 (0)