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); |