| Index: pkg/compiler/lib/src/js_model/closure_visitors.dart | 
| diff --git a/pkg/compiler/lib/src/js_model/closure_visitors.dart b/pkg/compiler/lib/src/js_model/closure_visitors.dart | 
| index 89fb18c1451a9493e626b1f2708b68a6c579620b..a089defc3827a327e0927a4b884b3a6f1f22cc4b 100644 | 
| --- a/pkg/compiler/lib/src/js_model/closure_visitors.dart | 
| +++ b/pkg/compiler/lib/src/js_model/closure_visitors.dart | 
| @@ -103,9 +103,13 @@ class CapturedScopeBuilder extends ir.Visitor { | 
| } | 
|  | 
| assert(_scopeInfoMap[_nodeToEntity(node)] != null); | 
| +      KernelScopeInfo from = _scopeInfoMap[_nodeToEntity(node)]; | 
| _scopesCapturedInClosureMap[node] = new KernelCapturedScope( | 
| capturedVariablesForScope, | 
| _nodeToEntity(_executableContext), | 
| +          from.localsUsedInTryOrSync, | 
| +          from.freeVariables, | 
| +          from.localsMap, | 
| thisLocal); | 
| } | 
| } | 
| @@ -221,6 +225,9 @@ class CapturedScopeBuilder extends ir.Visitor { | 
| scope.boxedVariables, | 
| boxedLoopVariables, | 
| scope.context, | 
| +        scope.localsUsedInTryOrSync, | 
| +        scope.freeVariables, | 
| +        _localsMap, | 
| scope.thisLocal); | 
| } | 
|  | 
| @@ -233,7 +240,7 @@ class CapturedScopeBuilder extends ir.Visitor { | 
| // field, constructor, or method that is being analyzed. | 
| _isInsideClosure = _outermostNode != null; | 
| _executableContext = node; | 
| -    _currentScopeInfo = new KernelScopeInfo(_nodeToThisLocal(node)); | 
| +    _currentScopeInfo = new KernelScopeInfo(_nodeToThisLocal(node), _localsMap); | 
| if (_isInsideClosure) { | 
| _closuresToGenerate[node] = _currentScopeInfo; | 
| } else { | 
|  |