aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/Constructors.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/dotty/tools/dotc/transform/Constructors.scala')
-rw-r--r--src/dotty/tools/dotc/transform/Constructors.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/Constructors.scala b/src/dotty/tools/dotc/transform/Constructors.scala
index d078bab1d..3d7af6bf5 100644
--- a/src/dotty/tools/dotc/transform/Constructors.scala
+++ b/src/dotty/tools/dotc/transform/Constructors.scala
@@ -233,9 +233,15 @@ class Constructors extends MiniPhaseTransform with SymTransformer { thisTransfor
case stats => (Nil, stats)
}
+ val mappedSuperCalls = vparams match {
+ case (outerParam @ ValDef(nme.OUTER, _, _)) :: _ =>
+ superCalls.map(mapOuter(outerParam.symbol).transform)
+ case _ => superCalls
+ }
+
cpy.Template(tree)(
constr = cpy.DefDef(constr)(
- rhs = Block(superCalls ::: copyParams ::: followConstrStats, unitLiteral)),
+ rhs = Block(mappedSuperCalls ::: copyParams ::: followConstrStats, unitLiteral)),
body = clsStats.toList)
}
}