Index: lib/compiler/implementation/ssa/closure.dart |
diff --git a/lib/compiler/implementation/ssa/closure.dart b/lib/compiler/implementation/ssa/closure.dart |
index 7d90b58eec68b241cc4e0c75f09aa9b7ac7eaccb..ab2d6a48c541bdbf94572232acce6b9d99a23635 100644 |
--- a/lib/compiler/implementation/ssa/closure.dart |
+++ b/lib/compiler/implementation/ssa/closure.dart |
@@ -240,8 +240,6 @@ class ClosureTranslator extends AbstractVisitor { |
Element box = null; |
Map<Element, Element> scopeMapping = new Map<Element, Element>(); |
for (Element element in scopeVariables) { |
- // No need to box non-assignable elements. |
- if (!element.isAssignable()) continue; |
if (capturedVariableMapping.containsKey(element)) { |
if (box == null) { |
// TODO(floitsch): construct better box names. |
@@ -356,6 +354,9 @@ class ClosureTranslator extends AbstractVisitor { |
} |
scopeVariables = new List<Element>(); |
+ // TODO(floitsch): a named function is visible from inside itself. Add |
+ // the element to the block. |
+ |
// We have to declare the implicit 'this' parameter. |
if (!insideClosure && closureData.thisElement !== null) { |
declareLocal(closureData.thisElement); |