| Index: pkg/compiler/lib/src/ssa/builder_kernel.dart
|
| diff --git a/pkg/compiler/lib/src/ssa/builder_kernel.dart b/pkg/compiler/lib/src/ssa/builder_kernel.dart
|
| index 89de758c3c187dd3addd801c58c9b3762e85635d..a2355d2922fe101d27f8836b3a35dd38ba561e03 100644
|
| --- a/pkg/compiler/lib/src/ssa/builder_kernel.dart
|
| +++ b/pkg/compiler/lib/src/ssa/builder_kernel.dart
|
| @@ -321,8 +321,6 @@ class KernelSsaBuilder extends ir.Visitor with GraphBuilder {
|
| // arguments.
|
|
|
| ConstructorElement constructorElement = _elementMap.getConstructor(body);
|
| - ClosureClassMap parameterClosureData =
|
| - closureToClassMapper.getMemberMap(constructorElement);
|
|
|
| void handleParameter(ir.VariableDeclaration node) {
|
| Local parameter = _localsMap.getLocal(node);
|
| @@ -341,10 +339,10 @@ class KernelSsaBuilder extends ir.Visitor with GraphBuilder {
|
|
|
| // If there are locals that escape (i.e. mutated in closures), we pass the
|
| // box to the constructor.
|
| - ClosureScope scopeData = parameterClosureData
|
| - .capturingScopes[constructorElement.resolvedAst.node];
|
| - if (scopeData != null) {
|
| - bodyCallInputs.add(localsHandler.readLocal(scopeData.boxElement));
|
| + ClosureAnalysisInfo scopeData = closureToClassMapper
|
| + .getClosureAnalysisInfo(constructorElement.resolvedAst.node);
|
| + if (scopeData.requiresBox()) {
|
| + bodyCallInputs.add(localsHandler.readLocal(scopeData.context));
|
| }
|
|
|
| // Pass type arguments.
|
|
|