| Index: lib/compiler/implementation/ssa/closure.dart
|
| diff --git a/lib/compiler/implementation/ssa/closure.dart b/lib/compiler/implementation/ssa/closure.dart
|
| index 82ee51afec661305c02f58d0dda510b39cce048d..780b3ffe31949dfaaabf356859e4887a9fdb325c 100644
|
| --- a/lib/compiler/implementation/ssa/closure.dart
|
| +++ b/lib/compiler/implementation/ssa/closure.dart
|
| @@ -10,15 +10,21 @@ class ClosureFieldElement extends Element {
|
| bool isAssignable() => false;
|
|
|
| String toString() => "ClosureFieldElement($name)";
|
| + Token position() => enclosingElement.position();
|
| }
|
|
|
| class ClosureClassElement extends ClassElement {
|
| - ClosureClassElement(Compiler compiler, Element enclosingElement)
|
| + Token originalPosition;
|
| +
|
| + ClosureClassElement(Compiler compiler, Element enclosingElement,
|
| + this.originalPosition)
|
| : super(compiler.closureClass.name, enclosingElement) {
|
| isResolved = true;
|
| compiler.closureClass.ensureResolved(compiler);
|
| supertype = compiler.closureClass.computeType(compiler);
|
| }
|
| +
|
| + Token position() => originalPosition;
|
| }
|
|
|
| class BoxElement extends Element {
|
| @@ -318,7 +324,9 @@ class ClosureTranslator extends AbstractVisitor {
|
| ClosureData globalizeClosure(FunctionExpression node) {
|
| FunctionElement element = elements[node];
|
| ClassElement globalizedElement =
|
| - new ClosureClassElement(compiler, element.getCompilationUnit());
|
| + new ClosureClassElement(compiler,
|
| + element.getCompilationUnit(),
|
| + element.position());
|
| FunctionElement callElement =
|
| new FunctionElement.from(Namer.CLOSURE_INVOCATION_NAME,
|
| element,
|
|
|