| Index: pkg/compiler/lib/src/js_backend/backend.dart
|
| ===================================================================
|
| --- pkg/compiler/lib/src/js_backend/backend.dart (revision 43839)
|
| +++ pkg/compiler/lib/src/js_backend/backend.dart (working copy)
|
| @@ -1600,8 +1600,8 @@
|
| return findHelper("throwCyclicInit");
|
| }
|
|
|
| - Element getThenHelper() {
|
| - return findHelper("thenHelper");
|
| + Element getAsyncHelper() {
|
| + return findHelper("asyncHelper");
|
| }
|
|
|
| Element getYieldStar() {
|
| @@ -1616,10 +1616,16 @@
|
| return classElement.lookupLocalMember("yieldSingle");
|
| }
|
|
|
| - Element getStreamHelper() {
|
| - return findHelper("streamHelper");
|
| + Element getSyncStarUncaughtError() {
|
| + ClassElement classElement = findHelper("IterationMarker");
|
| + classElement.ensureResolved(compiler);
|
| + return classElement.lookupLocalMember("uncaughtError");
|
| }
|
|
|
| + Element getAsyncStarHelper() {
|
| + return findHelper("asyncStarHelper");
|
| + }
|
| +
|
| Element getStreamOfController() {
|
| return findHelper("streamOfController");
|
| }
|
| @@ -2405,7 +2411,7 @@
|
| Enqueuer enqueuer,
|
| Registry registry) {
|
| if (element.asyncMarker == AsyncMarker.ASYNC) {
|
| - enqueue(enqueuer, getThenHelper(), registry);
|
| + enqueue(enqueuer, getAsyncHelper(), registry);
|
| enqueue(enqueuer, getCompleterConstructor(), registry);
|
| enqueue(enqueuer, getStreamIteratorConstructor(), registry);
|
| } else if (element.asyncMarker == AsyncMarker.SYNC_STAR) {
|
| @@ -2413,9 +2419,10 @@
|
| enqueue(enqueuer, getSyncStarIterableConstructor(), registry);
|
| enqueue(enqueuer, getEndOfIteration(), registry);
|
| enqueue(enqueuer, getYieldStar(), registry);
|
| + enqueue(enqueuer, getSyncStarUncaughtError(), registry);
|
| } else if (element.asyncMarker == AsyncMarker.ASYNC_STAR) {
|
| enqueuer.registerInstantiatedClass(getASyncStarController(), registry);
|
| - enqueue(enqueuer, getStreamHelper(), registry);
|
| + enqueue(enqueuer, getAsyncStarHelper(), registry);
|
| enqueue(enqueuer, getStreamOfController(), registry);
|
| enqueue(enqueuer, getYieldSingle(), registry);
|
| enqueue(enqueuer, getYieldStar(), registry);
|
|
|