[dart2wasm] Remove unnecessary initializer list collectContexts call The `collectContexts(member)` already visits initializer lists when visiting constructors, so no need to call it separately for initializers. Change-Id: Ida51a0e8c4003f19cd7b533a2847946926237bc0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/317101 Commit-Queue: Ömer Ağacan <omersa@google.com> Reviewed-by: Aske Simon Christensen <askesc@google.com>
diff --git a/pkg/dart2wasm/lib/closures.dart b/pkg/dart2wasm/lib/closures.dart index 5b96346..8f25963 100644 --- a/pkg/dart2wasm/lib/closures.dart +++ b/pkg/dart2wasm/lib/closures.dart
@@ -1037,10 +1037,9 @@ member.accept(find); } - void collectContexts(TreeNode node, {TreeNode? container}) { + void collectContexts(TreeNode node) { if (captures.isNotEmpty || isThisCaptured) { - node.accept( - ContextCollector(this, container, translator.options.enableAsserts)); + node.accept(ContextCollector(this, translator.options.enableAsserts)); } } @@ -1240,11 +1239,7 @@ Context? currentContext; final bool enableAsserts; - ContextCollector(this.closures, TreeNode? container, this.enableAsserts) { - if (container != null) { - currentContext = closures.contexts[container]!; - } - } + ContextCollector(this.closures, this.enableAsserts); @override void visitAssertStatement(AssertStatement node) {
diff --git a/pkg/dart2wasm/lib/code_generator.dart b/pkg/dart2wasm/lib/code_generator.dart index 1ce4e1c..61cf122 100644 --- a/pkg/dart2wasm/lib/code_generator.dart +++ b/pkg/dart2wasm/lib/code_generator.dart
@@ -354,14 +354,6 @@ closures.findCaptures(member); closures.collectContexts(member); - if (member is Constructor) { - for (Field field in member.enclosingClass.fields) { - if (field.isInstanceMember && field.initializer != null) { - closures.collectContexts(field.initializer!, - container: member.function); - } - } - } closures.buildContexts(); allocateContext(member.function!);