Skip to content

Commit 8114182

Browse files
committed
It is safe to share names across runs
1 parent c65a5be commit 8114182

File tree

2 files changed

+21
-27
lines changed

2 files changed

+21
-27
lines changed

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

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,30 +1436,24 @@ class Definitions {
14361436
false
14371437
})
14381438

1439-
@tu lazy val Function0SpecializedApplyNames: PerRun[collection.Set[TermName]] =
1440-
new PerRun({
1441-
for r <- defn.Function0SpecializedReturnTypes
1442-
yield nme.apply.specializedFunction(r, Nil).asTermName
1443-
})
1444-
1445-
@tu lazy val Function1SpecializedApplyNames: PerRun[collection.Set[TermName]] =
1446-
new PerRun({
1447-
for
1448-
r <- Function1SpecializedReturnTypes
1449-
t1 <- Function1SpecializedParamTypes
1450-
yield
1451-
nme.apply.specializedFunction(r, List(t1)).asTermName
1452-
})
1453-
1454-
@tu lazy val Function2SpecializedApplyNames: PerRun[collection.Set[TermName]] =
1455-
new PerRun({
1456-
for
1457-
r <- Function2SpecializedReturnTypes
1458-
t1 <- Function2SpecializedParamTypes
1459-
t2 <- Function2SpecializedReturnTypes
1460-
yield
1461-
nme.apply.specializedFunction(r, List(t1, t2)).asTermName
1462-
})
1439+
@tu lazy val Function0SpecializedApplyNames: collection.Set[TermName] =
1440+
for r <- Function0SpecializedReturnTypes
1441+
yield nme.apply.specializedFunction(r, Nil).asTermName
1442+
1443+
@tu lazy val Function1SpecializedApplyNames: collection.Set[TermName] =
1444+
for
1445+
r <- Function1SpecializedReturnTypes
1446+
t1 <- Function1SpecializedParamTypes
1447+
yield
1448+
nme.apply.specializedFunction(r, List(t1)).asTermName
1449+
1450+
@tu lazy val Function2SpecializedApplyNames: collection.Set[TermName] =
1451+
for
1452+
r <- Function2SpecializedReturnTypes
1453+
t1 <- Function2SpecializedParamTypes
1454+
t2 <- Function2SpecializedReturnTypes
1455+
yield
1456+
nme.apply.specializedFunction(r, List(t1, t2)).asTermName
14631457

14641458
def functionArity(tp: Type)(using Context): Int = tp.dropDependentRefinement.dealias.argInfos.length - 1
14651459

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,13 +101,13 @@ class SpecializedApplyMethods extends MiniPhase with InfoTransformer {
101101

102102
cls.name.functionArity match {
103103
case 0 =>
104-
synthesizeApply(defn.Function0SpecializedApplyNames())
104+
synthesizeApply(defn.Function0SpecializedApplyNames)
105105

106106
case 1 =>
107-
synthesizeApply(defn.Function1SpecializedApplyNames())
107+
synthesizeApply(defn.Function1SpecializedApplyNames)
108108

109109
case 2 =>
110-
synthesizeApply(defn.Function2SpecializedApplyNames())
110+
synthesizeApply(defn.Function2SpecializedApplyNames)
111111

112112
case _ =>
113113
tree

0 commit comments

Comments
 (0)