| Index: pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| diff --git a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| index 185b56df8be60a0b5e6a2adf1b48269a266018f9..07c3ff1043cd2658e7e46eb0f808ef570c6ddbcc 100644
|
| --- a/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| +++ b/pkg/compiler/lib/src/js_backend/codegen/codegen.dart
|
| @@ -121,6 +121,9 @@ class CodeGenerator extends tree_ir.StatementVisitor
|
| if (assign.op != null) break; // Compound assignment.
|
| js.VariableUse use = assign.leftHandSide;
|
|
|
| + // Do not touch non-local variables.
|
| + if (!usedVariableNames.contains(use.name)) break;
|
| +
|
| // We cannot declare a variable more than once.
|
| if (!declaredVariables.add(use.name)) break;
|
|
|
| @@ -144,6 +147,9 @@ class CodeGenerator extends tree_ir.StatementVisitor
|
| if (assign.op != null) break pullFromForLoop; // Compound assignment.
|
| js.VariableUse use = assign.leftHandSide;
|
|
|
| + // Do not touch non-local variables.
|
| + if (!usedVariableNames.contains(use.name)) break pullFromForLoop;
|
| +
|
| // We cannot declare a variable more than once.
|
| if (!declaredVariables.add(use.name)) break pullFromForLoop;
|
|
|
|
|