| Index: dart/lib/compiler/implementation/ssa/closure.dart
|
| diff --git a/dart/lib/compiler/implementation/ssa/closure.dart b/dart/lib/compiler/implementation/ssa/closure.dart
|
| index f6f0e3da4b48afc2d79568715998960f1d10fbca..a3a11d4d82876c06db24cf9d84ad49b488e1de5e 100644
|
| --- a/dart/lib/compiler/implementation/ssa/closure.dart
|
| +++ b/dart/lib/compiler/implementation/ssa/closure.dart
|
| @@ -22,9 +22,16 @@ class ClosureClassElement extends ClassElement {
|
| // is unique, but also emit closure classes after all other
|
| // classes (since the emitter sorts classes by their id).
|
| compiler.getNextFreeClassId()) {
|
| - isResolved = true;
|
| + // We assign twice to [supertypeLoadState] as it contains asserts
|
| + // which enforce certain sequence of transitions.
|
| + supertypeLoadState = ClassElement.STATE_STARTED;
|
| + supertypeLoadState = ClassElement.STATE_DONE;
|
| + // Same as for [supertypeLoadState] above.
|
| + resolutionState = ClassElement.STATE_STARTED;
|
| + resolutionState = ClassElement.STATE_DONE;
|
| compiler.closureClass.ensureResolved(compiler);
|
| supertype = compiler.closureClass.computeType(compiler);
|
| + interfaces = const EmptyLink<Type>();
|
| }
|
| bool isClosure() => true;
|
| }
|
|
|