Skip to content

Commit 732a690

Browse files
committed
Merge pull request #120 from DarkDimius/backend-backport
Backend backport
2 parents ee214a5 + 04e32dc commit 732a690

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ class Definitions {
7777
newPolyMethod(cls, name, 1, pt => MethodType(Nil, Nil, resultTypeFn(pt)), flags)
7878

7979
private def mkArityArray(name: String, arity: Int, countFrom: Int): Array[ClassSymbol] = {
80-
val arr = new Array[ClassSymbol](arity)
81-
for (i <- countFrom until arity) arr(i) = ctx.requiredClass("scala." + name + i)
80+
val arr = new Array[ClassSymbol](arity + 1)
81+
for (i <- countFrom to arity) arr(i) = ctx.requiredClass(name + i)
8282
arr
8383
}
8484

@@ -339,9 +339,10 @@ class Definitions {
339339

340340
// ----- Symbol sets ---------------------------------------------------
341341

342-
lazy val FunctionClass = mkArityArray("Function", MaxFunctionArity, 0)
343-
lazy val TupleClass = mkArityArray("Tuple", MaxTupleArity, 2)
344-
lazy val ProductNClass = mkArityArray("Product", MaxTupleArity, 2)
342+
lazy val AbstractFunctionClass = mkArityArray("scala.runtime.AbstractFunction", MaxFunctionArity, 0)
343+
lazy val FunctionClass = mkArityArray("scala.Function", MaxFunctionArity, 0)
344+
lazy val TupleClass = mkArityArray("scala.Tuple", MaxTupleArity, 2)
345+
lazy val ProductNClass = mkArityArray("scala.Product", MaxTupleArity, 2)
345346

346347
lazy val FunctionClasses: Set[Symbol] = FunctionClass.toSet
347348
lazy val TupleClasses: Set[Symbol] = TupleClass.toSet

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ object Erasure {
266266
val statsFlatten = Trees.flatten(stats)
267267
val stats1 = super.typedStats(statsFlatten, exprOwner)
268268

269-
if (ctx.owner.isClass) addBridges(statsFlatten, stats1)(ctx) else stats1
269+
if (ctx.owner.isClass) stats1:::addBridges(statsFlatten, stats1)(ctx) else stats1
270270
}
271271

272272
// this implementation doesn't check for bridge clashes with value types!

0 commit comments

Comments
 (0)