Skip to content

Commit 13a134b

Browse files
committed
Fix the super constructor call to DynamicImportThunk.
And only enable the corresponding deserialization hack for IR < 1.17.
1 parent 6a58494 commit 13a134b

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

compiler/src/main/scala/org/scalajs/nscplugin/PrepJSInterop.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ abstract class PrepJSInterop[G <: Global with Singleton](val global: G)
475475
*/
476476
val superCtorCall = gen.mkMethodCall(
477477
Super(clsSym, tpnme.EMPTY),
478-
ObjectClass.primaryConstructor, Nil, Nil)
478+
DynamicImportThunkClass.primaryConstructor, Nil, Nil)
479479

480480
// class $anon extends DynamicImportThunk
481481
val clsDef = ClassDef(clsSym, List(

ir/shared/src/main/scala/org/scalajs/ir/Serializers.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1438,7 +1438,7 @@ object Serializers {
14381438
val superClass = readOptClassIdent()
14391439
val parents = readClassIdents()
14401440

1441-
if (/* hacks.use16 &&*/ kind.isClass) { // scalastyle:ignore
1441+
if (hacks.use16 && kind.isClass) {
14421442
/* In 1.17, we started enforcing the constructor chaining discipline.
14431443
* Unfortunately, we used to generate a wrong super constructor call in
14441444
* synthetic classes extending `DynamicImportThunk`, so we patch them.

0 commit comments

Comments
 (0)