Skip to content

Commit 2b4cce1

Browse files
natebiggsCommit Queue
authored andcommitted
[dart2wasm] Update dynamic module callable logic to more correctly exclude non-subtypes of wasm object struct.
Fixes: #60589 Change-Id: I5d74fcc7ee2f52c5efacc26c275ef1cf45264abf Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/423880 Commit-Queue: Nate Biggs <[email protected]> Reviewed-by: Ömer Ağacan <[email protected]>
1 parent 9a23f9a commit 2b4cce1

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

pkg/dart2wasm/lib/dynamic_modules.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,8 @@ class DynamicModuleInfo {
512512
} else if (member is Constructor &&
513513
// Skip types that don't extend Object in the wasm type hierarchy.
514514
// These types do not have directly invokable constructors.
515-
(translator.classInfo[member.enclosingClass]!.superInfo !=
516-
translator.topInfo ||
517-
member.enclosingClass == translator.coreTypes.objectClass)) {
515+
translator.classInfo[member.enclosingClass]!.struct
516+
.isSubtypeOf(translator.objectInfo.struct)) {
518517
collectCallableReference(member.reference);
519518
collectCallableReference(member.initializerReference);
520519
collectCallableReference(member.constructorBodyReference);

0 commit comments

Comments
 (0)