Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: test/codegen_expected/language/async_star_test_02_multi.js

Issue 2214263005: Mark recursive_inheritance_test as passing (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Bumped pubspec Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 dart_library.library('language/async_star_test_02_multi', null, /* Imports */[ 1 dart_library.library('language/async_star_test_02_multi', null, /* Imports */[
2 'dart_sdk', 2 'dart_sdk',
3 'unittest' 3 'unittest'
4 ], function load__async_star_test_02_multi(exports, dart_sdk, unittest) { 4 ], function load__async_star_test_02_multi(exports, dart_sdk, unittest) {
5 'use strict'; 5 'use strict';
6 const core = dart_sdk.core; 6 const core = dart_sdk.core;
7 const async = dart_sdk.async;
7 const _interceptors = dart_sdk._interceptors; 8 const _interceptors = dart_sdk._interceptors;
8 const async = dart_sdk.async;
9 const dart = dart_sdk.dart; 9 const dart = dart_sdk.dart;
10 const dartx = dart_sdk.dartx; 10 const dartx = dart_sdk.dartx;
11 const unittest$ = unittest.unittest; 11 const unittest$ = unittest.unittest;
12 const src__matcher__expect = unittest.src__matcher__expect; 12 const src__matcher__expect = unittest.src__matcher__expect;
13 const src__matcher__core_matchers = unittest.src__matcher__core_matchers; 13 const src__matcher__core_matchers = unittest.src__matcher__core_matchers;
14 const src__matcher__numeric_matchers = unittest.src__matcher__numeric_matchers ; 14 const src__matcher__numeric_matchers = unittest.src__matcher__numeric_matchers ;
15 const async_star_test_02_multi = Object.create(null); 15 const async_star_test_02_multi = Object.create(null);
16 let StreamOfint = () => (StreamOfint = dart.constFn(async.Stream$(core.int)))( );
16 let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(c ore.int)))(); 17 let JSArrayOfint = () => (JSArrayOfint = dart.constFn(_interceptors.JSArray$(c ore.int)))();
18 let ListOfint = () => (ListOfint = dart.constFn(core.List$(core.int)))();
17 let JSArrayOfObject = () => (JSArrayOfObject = dart.constFn(_interceptors.JSAr ray$(core.Object)))(); 19 let JSArrayOfObject = () => (JSArrayOfObject = dart.constFn(_interceptors.JSAr ray$(core.Object)))();
18 let StreamOfint = () => (StreamOfint = dart.constFn(async.Stream$(core.int)))( ); 20 let VoidToObject = () => (VoidToObject = dart.constFn(dart.functionType(core.O bject, [])))();
21 let StreamOfVoidToObject = () => (StreamOfVoidToObject = dart.constFn(async.St ream$(VoidToObject())))();
19 let FutureOfObject = () => (FutureOfObject = dart.constFn(async.Future$(core.O bject)))(); 22 let FutureOfObject = () => (FutureOfObject = dart.constFn(async.Future$(core.O bject)))();
23 let VoidToFutureOfObject = () => (VoidToFutureOfObject = dart.constFn(dart.fun ctionType(FutureOfObject(), [])))();
24 let StreamOfVoidToFutureOfObject = () => (StreamOfVoidToFutureOfObject = dart. constFn(async.Stream$(VoidToFutureOfObject())))();
20 let StreamOfObject = () => (StreamOfObject = dart.constFn(async.Stream$(core.O bject)))(); 25 let StreamOfObject = () => (StreamOfObject = dart.constFn(async.Stream$(core.O bject)))();
26 let VoidToStreamOfObject = () => (VoidToStreamOfObject = dart.constFn(dart.fun ctionType(StreamOfObject(), [])))();
27 let StreamOfVoidToStreamOfObject = () => (StreamOfVoidToStreamOfObject = dart. constFn(async.Stream$(VoidToStreamOfObject())))();
21 let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSAr ray$(core.String)))(); 28 let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSAr ray$(core.String)))();
29 let StreamOfvoid = () => (StreamOfvoid = dart.constFn(async.Stream$(dart.void) ))();
30 let FutureOfint = () => (FutureOfint = dart.constFn(async.Future$(core.int)))( );
31 let StreamOfnum = () => (StreamOfnum = dart.constFn(async.Stream$(core.num)))( );
32 let VoidToStream = () => (VoidToStream = dart.constFn(dart.definiteFunctionTyp e(async.Stream, [])))();
33 let ListTodynamic = () => (ListTodynamic = dart.constFn(dart.definiteFunctionT ype(dart.dynamic, [core.List])))();
34 let VoidToFuture = () => (VoidToFuture = dart.constFn(dart.definiteFunctionTyp e(async.Future, [])))();
35 let VoidToStreamOfint = () => (VoidToStreamOfint = dart.constFn(dart.definiteF unctionType(StreamOfint(), [])))();
36 let ListOfintTodynamic = () => (ListOfintTodynamic = dart.constFn(dart.definit eFunctionType(dart.dynamic, [ListOfint()])))();
37 let intTovoid = () => (intTovoid = dart.constFn(dart.definiteFunctionType(dart .void, [core.int])))();
22 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionT ype(dart.dynamic, [])))(); 38 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionT ype(dart.dynamic, [])))();
39 let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionT ype(dart.void, [dart.dynamic])))();
40 let dynamicToStream = () => (dynamicToStream = dart.constFn(dart.definiteFunct ionType(async.Stream, [dart.dynamic])))();
23 let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFun ctionType(dart.dynamic, [dart.dynamic])))(); 41 let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.definiteFun ctionType(dart.dynamic, [dart.dynamic])))();
24 let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionT ype(dart.void, [dart.dynamic])))();
25 let VoidToFuture = () => (VoidToFuture = dart.constFn(dart.definiteFunctionTyp e(async.Future, [])))();
26 let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(da rt.void, [])))(); 42 let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(da rt.void, [])))();
27 let VoidToObject = () => (VoidToObject = dart.constFn(dart.definiteFunctionTyp e(core.Object, [])))(); 43 let dynamicToStreamOfint = () => (dynamicToStreamOfint = dart.constFn(dart.def initeFunctionType(StreamOfint(), [dart.dynamic])))();
28 let VoidToFutureOfObject = () => (VoidToFutureOfObject = dart.constFn(dart.def initeFunctionType(FutureOfObject(), [])))(); 44 let VoidToint = () => (VoidToint = dart.constFn(dart.definiteFunctionType(core .int, [])))();
29 let VoidToStreamOfObject = () => (VoidToStreamOfObject = dart.constFn(dart.def initeFunctionType(StreamOfObject(), [])))(); 45 let VoidToObject$ = () => (VoidToObject$ = dart.constFn(dart.definiteFunctionT ype(core.Object, [])))();
46 let VoidToStreamOfVoidToObject = () => (VoidToStreamOfVoidToObject = dart.cons tFn(dart.definiteFunctionType(StreamOfVoidToObject(), [])))();
47 let FnTodynamic = () => (FnTodynamic = dart.constFn(dart.definiteFunctionType( dart.dynamic, [VoidToObject()])))();
48 let VoidToFutureOfObject$ = () => (VoidToFutureOfObject$ = dart.constFn(dart.d efiniteFunctionType(FutureOfObject(), [])))();
49 let VoidToStreamOfVoidToFutureOfObject = () => (VoidToStreamOfVoidToFutureOfOb ject = dart.constFn(dart.definiteFunctionType(StreamOfVoidToFutureOfObject(), [] )))();
50 let ObjectTodynamic = () => (ObjectTodynamic = dart.constFn(dart.definiteFunct ionType(dart.dynamic, [core.Object])))();
51 let FnToFutureOfObject = () => (FnToFutureOfObject = dart.constFn(dart.definit eFunctionType(FutureOfObject(), [VoidToFutureOfObject()])))();
52 let VoidToStreamOfObject$ = () => (VoidToStreamOfObject$ = dart.constFn(dart.d efiniteFunctionType(StreamOfObject(), [])))();
53 let VoidToStreamOfVoidToStreamOfObject = () => (VoidToStreamOfVoidToStreamOfOb ject = dart.constFn(dart.definiteFunctionType(StreamOfVoidToStreamOfObject(), [] )))();
54 let FnToFutureOfObject$ = () => (FnToFutureOfObject$ = dart.constFn(dart.defin iteFunctionType(FutureOfObject(), [VoidToStreamOfObject()])))();
55 let VoidToStreamOfvoid = () => (VoidToStreamOfvoid = dart.constFn(dart.definit eFunctionType(StreamOfvoid(), [])))();
56 let voidTovoid = () => (voidTovoid = dart.constFn(dart.definiteFunctionType(da rt.void, [dart.void])))();
30 let dynamicToFuture = () => (dynamicToFuture = dart.constFn(dart.definiteFunct ionType(async.Future, [dart.dynamic])))(); 57 let dynamicToFuture = () => (dynamicToFuture = dart.constFn(dart.definiteFunct ionType(async.Future, [dart.dynamic])))();
31 let VoidToint = () => (VoidToint = dart.constFn(dart.definiteFunctionType(core .int, [])))(); 58 let intToStreamOfint = () => (intToStreamOfint = dart.constFn(dart.definiteFun ctionType(StreamOfint(), [core.int])))();
59 let dynamicToFutureOfint = () => (dynamicToFutureOfint = dart.constFn(dart.def initeFunctionType(FutureOfint(), [dart.dynamic])))();
32 let intTodynamic = () => (intTodynamic = dart.constFn(dart.definiteFunctionTyp e(dart.dynamic, [core.int])))(); 60 let intTodynamic = () => (intTodynamic = dart.constFn(dart.definiteFunctionTyp e(dart.dynamic, [core.int])))();
61 let dynamicToStreamOfnum = () => (dynamicToStreamOfnum = dart.constFn(dart.def initeFunctionType(StreamOfnum(), [dart.dynamic])))();
62 let VoidToFutureOfint = () => (VoidToFutureOfint = dart.constFn(dart.definiteF unctionType(FutureOfint(), [])))();
33 let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.cons tFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))(); 63 let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.cons tFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
34 let dynamicAndEventSinkTovoid = () => (dynamicAndEventSinkTovoid = dart.constF n(dart.definiteFunctionType(dart.void, [dart.dynamic, async.EventSink])))(); 64 let dynamicAndEventSinkTovoid = () => (dynamicAndEventSinkTovoid = dart.constF n(dart.definiteFunctionType(dart.void, [dart.dynamic, async.EventSink])))();
35 let ObjectAndStackTraceAndEventSinkTovoid = () => (ObjectAndStackTraceAndEvent SinkTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object, cor e.StackTrace, async.EventSink])))(); 65 let ObjectAndStackTraceAndEventSinkTovoid = () => (ObjectAndStackTraceAndEvent SinkTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Object, cor e.StackTrace, async.EventSink])))();
36 let EventSinkTovoid = () => (EventSinkTovoid = dart.constFn(dart.definiteFunct ionType(dart.void, [async.EventSink])))(); 66 let EventSinkTovoid = () => (EventSinkTovoid = dart.constFn(dart.definiteFunct ionType(dart.void, [async.EventSink])))();
37 async_star_test_02_multi.main = function() { 67 async_star_test_02_multi.main = function() {
38 unittest$.group("basic", dart.fn(() => { 68 unittest$.group("basic", dart.fn(() => {
39 unittest$.test("empty", dart.fn(() => { 69 unittest$.test("empty", dart.fn(() => {
40 function f() { 70 function f() {
41 return dart.asyncStar(function*(stream) { 71 return dart.asyncStar(function*(stream) {
42 }, dart.dynamic); 72 }, dart.dynamic);
43 } 73 }
44 dart.fn(f, VoidTodynamic()); 74 dart.fn(f, VoidToStream());
45 return dart.dsend(dart.dsend(f(), 'toList'), 'then', dart.fn(v => { 75 return f().toList().then(dart.dynamic)(dart.fn(v => {
46 src__matcher__expect.expect(v, src__matcher__core_matchers.equals([])) ; 76 src__matcher__expect.expect(v, src__matcher__core_matchers.equals([])) ;
47 }, dynamicTodynamic())); 77 }, ListTodynamic()));
48 }, VoidTodynamic())); 78 }, VoidToFuture()));
49 unittest$.test("single", dart.fn(() => { 79 unittest$.test("single", dart.fn(() => {
50 function f() { 80 function f() {
51 return dart.asyncStar(function*(stream) { 81 return dart.asyncStar(function*(stream) {
52 if (stream.add(42)) return; 82 if (stream.add(42)) return;
53 yield; 83 yield;
54 }, dart.dynamic); 84 }, core.int);
55 } 85 }
56 dart.fn(f, VoidTodynamic()); 86 dart.fn(f, VoidToStreamOfint());
57 return dart.dsend(dart.dsend(f(), 'toList'), 'then', dart.fn(v => { 87 return f().toList().then(dart.dynamic)(dart.fn(v => {
58 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(JSAr rayOfint().of([42]))); 88 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(JSAr rayOfint().of([42])));
59 }, dynamicTodynamic())); 89 }, ListOfintTodynamic()));
60 }, VoidTodynamic())); 90 }, VoidToFuture()));
61 unittest$.test("call delays", dart.fn(() => { 91 unittest$.test("call delays", dart.fn(() => {
62 let list = []; 92 let list = [];
63 function f() { 93 function f() {
64 return dart.asyncStar(function*(stream) { 94 return dart.asyncStar(function*(stream) {
65 list[dartx.add](1); 95 list[dartx.add](1);
66 if (stream.add(2)) return; 96 if (stream.add(2)) return;
67 yield; 97 yield;
68 }, dart.dynamic); 98 }, core.int);
69 } 99 }
70 dart.fn(f, VoidTodynamic()); 100 dart.fn(f, VoidToStreamOfint());
71 let res = dart.dsend(f(), 'forEach', dart.fn(x => list[dartx.add](x), dy namicTovoid())); 101 let res = f().forEach(dart.fn(x => list[dartx.add](x), intTovoid()));
72 list[dartx.add](0); 102 list[dartx.add](0);
73 return dart.dsend(res, 'whenComplete', dart.fn(() => { 103 return res.whenComplete(dart.fn(() => {
74 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfint().of([0, 1, 2]))); 104 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfint().of([0, 1, 2])));
75 }, VoidTodynamic())); 105 }, VoidTodynamic()));
76 }, VoidTodynamic())); 106 }, VoidToFuture()));
77 unittest$.test("throws", dart.fn(() => { 107 unittest$.test("throws", dart.fn(() => {
78 function f() { 108 function f() {
79 return dart.asyncStar(function*(stream) { 109 return dart.asyncStar(function*(stream) {
80 if (stream.add(1)) return; 110 if (stream.add(1)) return;
81 yield; 111 yield;
82 dart.throw(2); 112 dart.throw(2);
83 }, dart.dynamic); 113 }, core.int);
84 } 114 }
85 dart.fn(f, VoidTodynamic()); 115 dart.fn(f, VoidToStreamOfint());
86 let completer = async.Completer.new(); 116 let completer = async.Completer.new();
87 let list = []; 117 let list = [];
88 dart.dsend(f(), 'listen', dart.fn(x => list[dartx.add](x), dynamicTovoid ()), {onError: dart.fn(v => list[dartx.add](dart.str`${v}`), dynamicTovoid()), o nDone: dart.bind(completer, 'complete')}); 118 f().listen(dart.fn(x => list[dartx.add](x), intTovoid()), {onError: dart .fn(v => list[dartx.add](dart.str`${v}`), dynamicTovoid()), onDone: dart.bind(co mpleter, 'complete')});
89 return completer.future.whenComplete(dart.fn(() => { 119 return completer.future.whenComplete(dart.fn(() => {
90 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfObject().of([1, "2"]))); 120 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfObject().of([1, "2"])));
91 }, VoidTodynamic())); 121 }, VoidTodynamic()));
92 }, VoidToFuture())); 122 }, VoidToFuture()));
93 unittest$.test("multiple", dart.fn(() => { 123 unittest$.test("multiple", dart.fn(() => {
94 function f() { 124 function f() {
95 return dart.asyncStar(function*(stream) { 125 return dart.asyncStar(function*(stream) {
96 for (let i = 0; i < 10; i++) { 126 for (let i = 0; i < 10; i++) {
97 if (stream.add(i)) return; 127 if (stream.add(i)) return;
98 yield; 128 yield;
99 } 129 }
100 }, dart.dynamic); 130 }, core.int);
101 } 131 }
102 dart.fn(f, VoidTodynamic()); 132 dart.fn(f, VoidToStreamOfint());
103 return async_star_test_02_multi.expectList(f(), core.List.generate(10, a sync_star_test_02_multi.id)); 133 return async_star_test_02_multi.expectList(f(), core.List.generate(10, a sync_star_test_02_multi.id));
104 }, VoidTodynamic())); 134 }, VoidTodynamic()));
105 unittest$.test("allows await", dart.fn(() => { 135 unittest$.test("allows await", dart.fn(() => {
106 function f() { 136 function f() {
107 return dart.asyncStar(function*(stream) { 137 return dart.asyncStar(function*(stream) {
108 let x = (yield async.Future.value(42)); 138 let x = (yield async.Future.value(42));
109 if (stream.add(x)) return; 139 if (stream.add(x)) return;
110 yield; 140 yield;
111 x = (yield async.Future.value(42)); 141 x = (yield async.Future.value(42));
112 }, dart.dynamic); 142 }, dart.dynamic);
113 } 143 }
114 dart.fn(f, VoidTodynamic()); 144 dart.fn(f, VoidToStream());
115 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 145 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
116 }, VoidTodynamic())); 146 }, VoidTodynamic()));
117 unittest$.test("allows await in loop", dart.fn(() => { 147 unittest$.test("allows await in loop", dart.fn(() => {
118 function f() { 148 function f() {
119 return dart.asyncStar(function*(stream) { 149 return dart.asyncStar(function*(stream) {
120 for (let i = 0; i < 10; i++) { 150 for (let i = 0; i < 10; i++) {
121 if (stream.add(yield i)) return; 151 if (stream.add(yield i)) return;
122 yield; 152 yield;
123 } 153 }
124 }, dart.dynamic); 154 }, core.int);
125 } 155 }
126 dart.fn(f, VoidTodynamic()); 156 dart.fn(f, VoidToStreamOfint());
127 return async_star_test_02_multi.expectList(f(), core.List.generate(10, a sync_star_test_02_multi.id)); 157 return async_star_test_02_multi.expectList(f(), core.List.generate(10, a sync_star_test_02_multi.id));
128 }, VoidTodynamic())); 158 }, VoidTodynamic()));
129 unittest$.test("allows yield*", dart.fn(() => { 159 unittest$.test("allows yield*", dart.fn(() => {
130 function f() { 160 function f() {
131 return dart.asyncStar(function*(stream) { 161 return dart.asyncStar(function*(stream) {
132 if (stream.addStream(StreamOfint().fromIterable(JSArrayOfint().of([1 , 2, 3])))) return; 162 if (stream.addStream(StreamOfint().fromIterable(JSArrayOfint().of([1 , 2, 3])))) return;
133 yield; 163 yield;
134 }, dart.dynamic); 164 }, core.int);
135 } 165 }
136 dart.fn(f, VoidTodynamic()); 166 dart.fn(f, VoidToStreamOfint());
137 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([1, 2, 3])); 167 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([1, 2, 3]));
138 }, VoidTodynamic())); 168 }, VoidTodynamic()));
139 unittest$.test("allows yield* of async*", dart.fn(() => { 169 unittest$.test("allows yield* of async*", dart.fn(() => {
140 function f(n) { 170 function f(n) {
141 return dart.asyncStar(function*(stream, n) { 171 return dart.asyncStar(function*(stream, n) {
142 if (stream.add(n)) return; 172 if (stream.add(n)) return;
143 yield; 173 yield;
144 if (dart.equals(n, 0)) return; 174 if (dart.equals(n, 0)) return;
145 if (stream.addStream(async.Stream._check(f(dart.dsend(n, '-', 1))))) return; 175 if (stream.addStream(async.Stream._check(f(dart.dsend(n, '-', 1))))) return;
146 yield; 176 yield;
147 if (stream.add(n)) return; 177 if (stream.add(n)) return;
148 yield; 178 yield;
149 }, dart.dynamic, n); 179 }, dart.dynamic, n);
150 } 180 }
151 dart.fn(f, dynamicTodynamic()); 181 dart.fn(f, dynamicToStream());
152 return async_star_test_02_multi.expectList(f(3), JSArrayOfint().of([3, 2 , 1, 0, 1, 2, 3])); 182 return async_star_test_02_multi.expectList(f(3), JSArrayOfint().of([3, 2 , 1, 0, 1, 2, 3]));
153 }, VoidTodynamic())); 183 }, VoidTodynamic()));
154 unittest$.test("Cannot yield* non-stream", dart.fn(() => { 184 unittest$.test("Cannot yield* non-stream", dart.fn(() => {
155 function f(s) { 185 function f(s) {
156 return dart.asyncStar(function*(stream, s) { 186 return dart.asyncStar(function*(stream, s) {
157 if (stream.addStream(async.Stream._check(s))) return; 187 if (stream.addStream(async.Stream._check(s))) return;
158 yield; 188 yield;
159 }, dart.dynamic, s); 189 }, dart.dynamic, s);
160 } 190 }
161 dart.fn(f, dynamicTodynamic()); 191 dart.fn(f, dynamicToStream());
162 return dart.dsend(dart.dload(dart.dsend(f(42), 'transform', async_star_t est_02_multi.getErrors), 'single'), 'then', dart.fn(v => { 192 return f(42).transform(dart.dynamic)(async_star_test_02_multi.getErrors) .single.then(dart.dynamic)(dart.fn(v => {
163 src__matcher__expect.expect(core.Error.is(v), src__matcher__core_match ers.isTrue); 193 src__matcher__expect.expect(core.Error.is(v), src__matcher__core_match ers.isTrue);
164 }, dynamicTodynamic())); 194 }, dynamicTodynamic()));
165 }, VoidTodynamic())); 195 }, VoidToFuture()));
166 unittest$.test("Cannot yield* non-stream", dart.fn(() => { 196 unittest$.test("Cannot yield* non-stream", dart.fn(() => {
167 function f(s) { 197 function f(s) {
168 return dart.asyncStar(function*(stream, s) { 198 return dart.asyncStar(function*(stream, s) {
169 if (stream.addStream(async.Stream._check(s))) return; 199 if (stream.addStream(async.Stream._check(s))) return;
170 yield; 200 yield;
171 }, dart.dynamic, s); 201 }, dart.dynamic, s);
172 } 202 }
173 dart.fn(f, dynamicTodynamic()); 203 dart.fn(f, dynamicToStream());
174 return dart.dsend(dart.dload(dart.dsend(f(new async_star_test_02_multi.N otAStream()), 'transform', async_star_test_02_multi.getErrors), 'single'), 'then ', dart.fn(v => { 204 return f(new async_star_test_02_multi.NotAStream()).transform(dart.dynam ic)(async_star_test_02_multi.getErrors).single.then(dart.dynamic)(dart.fn(v => {
175 src__matcher__expect.expect(core.Error.is(v), src__matcher__core_match ers.isTrue); 205 src__matcher__expect.expect(core.Error.is(v), src__matcher__core_match ers.isTrue);
176 }, dynamicTodynamic())); 206 }, dynamicTodynamic()));
177 }, VoidTodynamic())); 207 }, VoidToFuture()));
178 }, VoidTovoid())); 208 }, VoidTovoid()));
179 unittest$.group("yield statement context", dart.fn(() => { 209 unittest$.group("yield statement context", dart.fn(() => {
180 unittest$.test("plain", dart.fn(() => { 210 unittest$.test("plain", dart.fn(() => {
181 function f() { 211 function f() {
182 return dart.asyncStar(function*(stream) { 212 return dart.asyncStar(function*(stream) {
183 if (stream.add(0)) return; 213 if (stream.add(0)) return;
184 yield; 214 yield;
185 }, dart.dynamic); 215 }, core.int);
186 } 216 }
187 dart.fn(f, VoidTodynamic()); 217 dart.fn(f, VoidToStreamOfint());
188 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0])); 218 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0]));
189 }, VoidTodynamic())); 219 }, VoidTodynamic()));
190 unittest$.test("if-then-else", dart.fn(() => { 220 unittest$.test("if-then-else", dart.fn(() => {
191 function f(b) { 221 function f(b) {
192 return dart.asyncStar(function*(stream, b) { 222 return dart.asyncStar(function*(stream, b) {
193 if (dart.test(b)) { 223 if (dart.test(b)) {
194 if (stream.add(0)) return; 224 if (stream.add(0)) return;
195 yield; 225 yield;
196 } else { 226 } else {
197 if (stream.add(1)) return; 227 if (stream.add(1)) return;
198 yield; 228 yield;
199 } 229 }
200 }, dart.dynamic, b); 230 }, core.int, b);
201 } 231 }
202 dart.fn(f, dynamicTodynamic()); 232 dart.fn(f, dynamicToStreamOfint());
203 return dart.dsend(async_star_test_02_multi.expectList(f(true), JSArrayOf int().of([0])), 'whenComplete', dart.fn(() => { 233 return dart.dsend(async_star_test_02_multi.expectList(f(true), JSArrayOf int().of([0])), 'whenComplete', dart.fn(() => {
204 async_star_test_02_multi.expectList(f(false), JSArrayOfint().of([1])); 234 async_star_test_02_multi.expectList(f(false), JSArrayOfint().of([1]));
205 }, VoidTodynamic())); 235 }, VoidTodynamic()));
206 }, VoidTodynamic())); 236 }, VoidTodynamic()));
207 unittest$.test("block", dart.fn(() => { 237 unittest$.test("block", dart.fn(() => {
208 function f() { 238 function f() {
209 return dart.asyncStar(function*(stream) { 239 return dart.asyncStar(function*(stream) {
210 if (stream.add(0)) return; 240 if (stream.add(0)) return;
211 yield; 241 yield;
212 { 242 {
213 if (stream.add(1)) return; 243 if (stream.add(1)) return;
214 yield; 244 yield;
215 } 245 }
216 if (stream.add(2)) return; 246 if (stream.add(2)) return;
217 yield; 247 yield;
218 }, dart.dynamic); 248 }, core.int);
219 } 249 }
220 dart.fn(f, VoidTodynamic()); 250 dart.fn(f, VoidToStreamOfint());
221 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2])); 251 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2]));
222 }, VoidTodynamic())); 252 }, VoidTodynamic()));
223 unittest$.test("labeled", dart.fn(() => { 253 unittest$.test("labeled", dart.fn(() => {
224 function f() { 254 function f() {
225 return dart.asyncStar(function*(stream) { 255 return dart.asyncStar(function*(stream) {
226 label1: { 256 label1: {
227 if (stream.add(0)) return; 257 if (stream.add(0)) return;
228 yield; 258 yield;
229 } 259 }
230 }, dart.dynamic); 260 }, core.int);
231 } 261 }
232 dart.fn(f, VoidTodynamic()); 262 dart.fn(f, VoidToStreamOfint());
233 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0])); 263 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0]));
234 }, VoidTodynamic())); 264 }, VoidTodynamic()));
235 unittest$.test("for-loop", dart.fn(() => { 265 unittest$.test("for-loop", dart.fn(() => {
236 function f() { 266 function f() {
237 return dart.asyncStar(function*(stream) { 267 return dart.asyncStar(function*(stream) {
238 for (let i = 0; i < 3; i++) { 268 for (let i = 0; i < 3; i++) {
239 if (stream.add(i)) return; 269 if (stream.add(i)) return;
240 yield; 270 yield;
241 } 271 }
242 }, dart.dynamic); 272 }, core.int);
243 } 273 }
244 dart.fn(f, VoidTodynamic()); 274 dart.fn(f, VoidToStreamOfint());
245 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2])); 275 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2]));
246 }, VoidTodynamic())); 276 }, VoidTodynamic()));
247 unittest$.test("for-in-loop", dart.fn(() => { 277 unittest$.test("for-in-loop", dart.fn(() => {
248 function f() { 278 function f() {
249 return dart.asyncStar(function*(stream) { 279 return dart.asyncStar(function*(stream) {
250 for (let i of JSArrayOfint().of([0, 1, 2])) { 280 for (let i of JSArrayOfint().of([0, 1, 2])) {
251 if (stream.add(i)) return; 281 if (stream.add(i)) return;
252 yield; 282 yield;
253 } 283 }
254 }, dart.dynamic); 284 }, core.int);
255 } 285 }
256 dart.fn(f, VoidTodynamic()); 286 dart.fn(f, VoidToStreamOfint());
257 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2])); 287 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2]));
258 }, VoidTodynamic())); 288 }, VoidTodynamic()));
259 unittest$.test("await for-in-loop", dart.fn(() => { 289 unittest$.test("await for-in-loop", dart.fn(() => {
260 function f() { 290 function f() {
261 return dart.asyncStar(function*(stream) { 291 return dart.asyncStar(function*(stream) {
262 let it = async.StreamIterator.new(StreamOfint().fromIterable(JSArray Ofint().of([0, 1, 2]))); 292 let it = async.StreamIterator.new(StreamOfint().fromIterable(JSArray Ofint().of([0, 1, 2])));
263 try { 293 try {
264 while (yield it.moveNext()) { 294 while (yield it.moveNext()) {
265 let i = it.current; 295 let i = it.current;
266 if (stream.add(i)) return; 296 if (stream.add(i)) return;
267 yield; 297 yield;
268 } 298 }
269 } finally { 299 } finally {
270 yield it.cancel(); 300 yield it.cancel();
271 } 301 }
272 }, dart.dynamic); 302 }, core.int);
273 } 303 }
274 dart.fn(f, VoidTodynamic()); 304 dart.fn(f, VoidToStreamOfint());
275 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2])); 305 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2]));
276 }, VoidTodynamic())); 306 }, VoidTodynamic()));
277 unittest$.test("while-loop", dart.fn(() => { 307 unittest$.test("while-loop", dart.fn(() => {
278 function f() { 308 function f() {
279 return dart.asyncStar(function*(stream) { 309 return dart.asyncStar(function*(stream) {
280 let i = 0; 310 let i = 0;
281 while (i < 3) { 311 while (i < 3) {
282 if (stream.add(i++)) return; 312 if (stream.add(i++)) return;
283 yield; 313 yield;
284 } 314 }
285 }, dart.dynamic); 315 }, core.int);
286 } 316 }
287 dart.fn(f, VoidTodynamic()); 317 dart.fn(f, VoidToStreamOfint());
288 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2])); 318 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2]));
289 }, VoidTodynamic())); 319 }, VoidTodynamic()));
290 unittest$.test("do-while-loop", dart.fn(() => { 320 unittest$.test("do-while-loop", dart.fn(() => {
291 function f() { 321 function f() {
292 return dart.asyncStar(function*(stream) { 322 return dart.asyncStar(function*(stream) {
293 let i = 0; 323 let i = 0;
294 do { 324 do {
295 if (stream.add(i++)) return; 325 if (stream.add(i++)) return;
296 yield; 326 yield;
297 } while (i < 3); 327 } while (i < 3);
298 }, dart.dynamic); 328 }, core.int);
299 } 329 }
300 dart.fn(f, VoidTodynamic()); 330 dart.fn(f, VoidToStreamOfint());
301 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2])); 331 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2]));
302 }, VoidTodynamic())); 332 }, VoidTodynamic()));
303 unittest$.test("try-catch-finally", dart.fn(() => { 333 unittest$.test("try-catch-finally", dart.fn(() => {
304 function f() { 334 function f() {
305 return dart.asyncStar(function*(stream) { 335 return dart.asyncStar(function*(stream) {
306 try { 336 try {
307 if (stream.add(0)) return; 337 if (stream.add(0)) return;
308 yield; 338 yield;
309 } catch (e) { 339 } catch (e) {
310 if (stream.add(1)) return; 340 if (stream.add(1)) return;
311 yield; 341 yield;
312 } 342 }
313 finally { 343 finally {
314 if (stream.add(2)) return; 344 if (stream.add(2)) return;
315 yield; 345 yield;
316 } 346 }
317 }, dart.dynamic); 347 }, core.int);
318 } 348 }
319 dart.fn(f, VoidTodynamic()); 349 dart.fn(f, VoidToStreamOfint());
320 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 2] )); 350 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 2] ));
321 }, VoidTodynamic())); 351 }, VoidTodynamic()));
322 unittest$.test("try-catch-finally 2", dart.fn(() => { 352 unittest$.test("try-catch-finally 2", dart.fn(() => {
323 function f() { 353 function f() {
324 return dart.asyncStar(function*(stream) { 354 return dart.asyncStar(function*(stream) {
325 try { 355 try {
326 if (stream.add(dart.throw(0))) return; 356 if (stream.add(dart.throw(0))) return;
327 yield; 357 yield;
328 } catch (e) { 358 } catch (e) {
329 if (stream.add(1)) return; 359 if (stream.add(1)) return;
330 yield; 360 yield;
331 } 361 }
332 finally { 362 finally {
333 if (stream.add(2)) return; 363 if (stream.add(2)) return;
334 yield; 364 yield;
335 } 365 }
336 }, dart.dynamic); 366 }, core.int);
337 } 367 }
338 dart.fn(f, VoidTodynamic()); 368 dart.fn(f, VoidToStreamOfint());
339 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([1, 2] )); 369 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([1, 2] ));
340 }, VoidTodynamic())); 370 }, VoidTodynamic()));
341 unittest$.test("dead-code return", dart.fn(() => { 371 unittest$.test("dead-code return", dart.fn(() => {
342 function f() { 372 function f() {
343 return dart.asyncStar(function*(stream) { 373 return dart.asyncStar(function*(stream) {
344 return; 374 return;
345 if (stream.add(1)) return; 375 if (stream.add(1)) return;
346 yield; 376 yield;
347 }, dart.dynamic); 377 }, core.int);
348 } 378 }
349 dart.fn(f, VoidTodynamic()); 379 dart.fn(f, VoidToStreamOfint());
350 return async_star_test_02_multi.expectList(f(), []); 380 return async_star_test_02_multi.expectList(f(), []);
351 }, VoidTodynamic())); 381 }, VoidTodynamic()));
352 unittest$.test("dead-code throw", dart.fn(() => { 382 unittest$.test("dead-code throw", dart.fn(() => {
353 function f() { 383 function f() {
354 return dart.asyncStar(function*(stream) { 384 return dart.asyncStar(function*(stream) {
355 try { 385 try {
356 dart.throw(0); 386 dart.throw(0);
357 if (stream.add(1)) return; 387 if (stream.add(1)) return;
358 yield; 388 yield;
359 } catch (_) { 389 } catch (_) {
360 } 390 }
361 391
362 }, dart.dynamic); 392 }, core.int);
363 } 393 }
364 dart.fn(f, VoidTodynamic()); 394 dart.fn(f, VoidToStreamOfint());
365 return async_star_test_02_multi.expectList(f(), []); 395 return async_star_test_02_multi.expectList(f(), []);
366 }, VoidTodynamic())); 396 }, VoidTodynamic()));
367 unittest$.test("dead-code break", dart.fn(() => { 397 unittest$.test("dead-code break", dart.fn(() => {
368 function f() { 398 function f() {
369 return dart.asyncStar(function*(stream) { 399 return dart.asyncStar(function*(stream) {
370 while (true) { 400 while (true) {
371 break; 401 break;
372 if (stream.add(1)) return; 402 if (stream.add(1)) return;
373 yield; 403 yield;
374 } 404 }
375 }, dart.dynamic); 405 }, core.int);
376 } 406 }
377 dart.fn(f, VoidTodynamic()); 407 dart.fn(f, VoidToStreamOfint());
378 return async_star_test_02_multi.expectList(f(), []); 408 return async_star_test_02_multi.expectList(f(), []);
379 }, VoidTodynamic())); 409 }, VoidTodynamic()));
380 unittest$.test("dead-code break 2", dart.fn(() => { 410 unittest$.test("dead-code break 2", dart.fn(() => {
381 function f() { 411 function f() {
382 return dart.asyncStar(function*(stream) { 412 return dart.asyncStar(function*(stream) {
383 label: { 413 label: {
384 break label; 414 break label;
385 if (stream.add(1)) return; 415 if (stream.add(1)) return;
386 yield; 416 yield;
387 } 417 }
388 }, dart.dynamic); 418 }, core.int);
389 } 419 }
390 dart.fn(f, VoidTodynamic()); 420 dart.fn(f, VoidToStreamOfint());
391 return async_star_test_02_multi.expectList(f(), []); 421 return async_star_test_02_multi.expectList(f(), []);
392 }, VoidTodynamic())); 422 }, VoidTodynamic()));
393 unittest$.test("dead-code continue", dart.fn(() => { 423 unittest$.test("dead-code continue", dart.fn(() => {
394 function f() { 424 function f() {
395 return dart.asyncStar(function*(stream) { 425 return dart.asyncStar(function*(stream) {
396 do { 426 do {
397 continue; 427 continue;
398 if (stream.add(1)) return; 428 if (stream.add(1)) return;
399 yield; 429 yield;
400 } while (false); 430 } while (false);
401 }, dart.dynamic); 431 }, core.int);
402 } 432 }
403 dart.fn(f, VoidTodynamic()); 433 dart.fn(f, VoidToStreamOfint());
404 return async_star_test_02_multi.expectList(f(), []); 434 return async_star_test_02_multi.expectList(f(), []);
405 }, VoidTodynamic())); 435 }, VoidTodynamic()));
406 }, VoidTovoid())); 436 }, VoidTovoid()));
407 unittest$.group("yield expressions", dart.fn(() => { 437 unittest$.group("yield expressions", dart.fn(() => {
408 unittest$.test("local variable", dart.fn(() => { 438 unittest$.test("local variable", dart.fn(() => {
409 function f() { 439 function f() {
410 return dart.asyncStar(function*(stream) { 440 return dart.asyncStar(function*(stream) {
411 let x = 42; 441 let x = 42;
412 if (stream.add(x)) return; 442 if (stream.add(x)) return;
413 yield; 443 yield;
414 }, dart.dynamic); 444 }, core.int);
415 } 445 }
416 dart.fn(f, VoidTodynamic()); 446 dart.fn(f, VoidToStreamOfint());
417 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 447 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
418 }, VoidTodynamic())); 448 }, VoidTodynamic()));
419 unittest$.test("constant variable", dart.fn(() => { 449 unittest$.test("constant variable", dart.fn(() => {
420 function f() { 450 function f() {
421 return dart.asyncStar(function*(stream) { 451 return dart.asyncStar(function*(stream) {
422 let x = 42; 452 let x = 42;
423 if (stream.add(x)) return; 453 if (stream.add(x)) return;
424 yield; 454 yield;
425 }, dart.dynamic); 455 }, core.int);
426 } 456 }
427 dart.fn(f, VoidTodynamic()); 457 dart.fn(f, VoidToStreamOfint());
428 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 458 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
429 }, VoidTodynamic())); 459 }, VoidTodynamic()));
430 unittest$.test("function call", dart.fn(() => { 460 unittest$.test("function call", dart.fn(() => {
431 function g() { 461 function g() {
432 return 42; 462 return 42;
433 } 463 }
434 dart.fn(g, VoidTodynamic()); 464 dart.fn(g, VoidToint());
435 function f() { 465 function f() {
436 return dart.asyncStar(function*(stream) { 466 return dart.asyncStar(function*(stream) {
437 if (stream.add(g())) return; 467 if (stream.add(g())) return;
438 yield; 468 yield;
439 }, dart.dynamic); 469 }, core.int);
440 } 470 }
441 dart.fn(f, VoidTodynamic()); 471 dart.fn(f, VoidToStreamOfint());
442 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 472 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
443 }, VoidTodynamic())); 473 }, VoidTodynamic()));
444 unittest$.test("unary operator", dart.fn(() => { 474 unittest$.test("unary operator", dart.fn(() => {
445 function f() { 475 function f() {
446 return dart.asyncStar(function*(stream) { 476 return dart.asyncStar(function*(stream) {
447 let x = -42; 477 let x = -42;
448 if (stream.add(-x)) return; 478 if (stream.add(-x)) return;
449 yield; 479 yield;
450 }, dart.dynamic); 480 }, core.int);
451 } 481 }
452 dart.fn(f, VoidTodynamic()); 482 dart.fn(f, VoidToStreamOfint());
453 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 483 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
454 }, VoidTodynamic())); 484 }, VoidTodynamic()));
455 unittest$.test("binary operator", dart.fn(() => { 485 unittest$.test("binary operator", dart.fn(() => {
456 function f() { 486 function f() {
457 return dart.asyncStar(function*(stream) { 487 return dart.asyncStar(function*(stream) {
458 let x = 21; 488 let x = 21;
459 if (stream.add(x + x)) return; 489 if (stream.add(x + x)) return;
460 yield; 490 yield;
461 }, dart.dynamic); 491 }, core.int);
462 } 492 }
463 dart.fn(f, VoidTodynamic()); 493 dart.fn(f, VoidToStreamOfint());
464 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 494 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
465 }, VoidTodynamic())); 495 }, VoidTodynamic()));
466 unittest$.test("ternary operator", dart.fn(() => { 496 unittest$.test("ternary operator", dart.fn(() => {
467 function f() { 497 function f() {
468 return dart.asyncStar(function*(stream) { 498 return dart.asyncStar(function*(stream) {
469 let x = 21; 499 let x = 21;
470 if (stream.add(x == 21 ? x + x : x)) return; 500 if (stream.add(x == 21 ? x + x : x)) return;
471 yield; 501 yield;
472 }, dart.dynamic); 502 }, core.int);
473 } 503 }
474 dart.fn(f, VoidTodynamic()); 504 dart.fn(f, VoidToStreamOfint());
475 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 505 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
476 }, VoidTodynamic())); 506 }, VoidTodynamic()));
477 unittest$.test("suffix post-increment", dart.fn(() => { 507 unittest$.test("suffix post-increment", dart.fn(() => {
478 function f() { 508 function f() {
479 return dart.asyncStar(function*(stream) { 509 return dart.asyncStar(function*(stream) {
480 let x = 42; 510 let x = 42;
481 if (stream.add(x++)) return; 511 if (stream.add(x++)) return;
482 yield; 512 yield;
483 }, dart.dynamic); 513 }, core.int);
484 } 514 }
485 dart.fn(f, VoidTodynamic()); 515 dart.fn(f, VoidToStreamOfint());
486 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 516 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
487 }, VoidTodynamic())); 517 }, VoidTodynamic()));
488 unittest$.test("suffix pre-increment", dart.fn(() => { 518 unittest$.test("suffix pre-increment", dart.fn(() => {
489 function f() { 519 function f() {
490 return dart.asyncStar(function*(stream) { 520 return dart.asyncStar(function*(stream) {
491 let x = 41; 521 let x = 41;
492 if (stream.add(++x)) return; 522 if (stream.add(++x)) return;
493 yield; 523 yield;
494 }, dart.dynamic); 524 }, core.int);
495 } 525 }
496 dart.fn(f, VoidTodynamic()); 526 dart.fn(f, VoidToStreamOfint());
497 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 527 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
498 }, VoidTodynamic())); 528 }, VoidTodynamic()));
499 unittest$.test("assignment", dart.fn(() => { 529 unittest$.test("assignment", dart.fn(() => {
500 function f() { 530 function f() {
501 return dart.asyncStar(function*(stream) { 531 return dart.asyncStar(function*(stream) {
502 let x = 37; 532 let x = 37;
503 if (stream.add(x = 42)) return; 533 if (stream.add(x = 42)) return;
504 yield; 534 yield;
505 }, dart.dynamic); 535 }, core.int);
506 } 536 }
507 dart.fn(f, VoidTodynamic()); 537 dart.fn(f, VoidToStreamOfint());
508 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 538 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
509 }, VoidTodynamic())); 539 }, VoidTodynamic()));
510 unittest$.test("assignment op", dart.fn(() => { 540 unittest$.test("assignment op", dart.fn(() => {
511 function f() { 541 function f() {
512 return dart.asyncStar(function*(stream) { 542 return dart.asyncStar(function*(stream) {
513 let x = 41; 543 let x = 41;
514 if (stream.add((x = x + 1))) return; 544 if (stream.add((x = x + 1))) return;
515 yield; 545 yield;
516 }, dart.dynamic); 546 }, core.int);
517 } 547 }
518 dart.fn(f, VoidTodynamic()); 548 dart.fn(f, VoidToStreamOfint());
519 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 549 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
520 }, VoidTodynamic())); 550 }, VoidTodynamic()));
521 unittest$.test("await", dart.fn(() => { 551 unittest$.test("await", dart.fn(() => {
522 function f() { 552 function f() {
523 return dart.asyncStar(function*(stream) { 553 return dart.asyncStar(function*(stream) {
524 if (stream.add(yield async.Future.value(42))) return; 554 if (stream.add(yield async.Future.value(42))) return;
525 yield; 555 yield;
526 }, dart.dynamic); 556 }, dart.dynamic);
527 } 557 }
528 dart.fn(f, VoidTodynamic()); 558 dart.fn(f, VoidToStream());
529 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 559 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
530 }, VoidTodynamic())); 560 }, VoidTodynamic()));
531 unittest$.test("index operator", dart.fn(() => { 561 unittest$.test("index operator", dart.fn(() => {
532 function f() { 562 function f() {
533 return dart.asyncStar(function*(stream) { 563 return dart.asyncStar(function*(stream) {
534 let x = JSArrayOfint().of([42]); 564 let x = JSArrayOfint().of([42]);
535 if (stream.add(x[dartx.get](0))) return; 565 if (stream.add(x[dartx.get](0))) return;
536 yield; 566 yield;
537 }, dart.dynamic); 567 }, core.int);
538 } 568 }
539 dart.fn(f, VoidTodynamic()); 569 dart.fn(f, VoidToStreamOfint());
540 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ; 570 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([42])) ;
541 }, VoidTodynamic())); 571 }, VoidTodynamic()));
542 unittest$.test("function expression block", dart.fn(() => { 572 unittest$.test("function expression block", dart.fn(() => {
543 let o = new core.Object(); 573 let o = new core.Object();
544 function f() { 574 function f() {
545 return dart.asyncStar(function*(stream) { 575 return dart.asyncStar(function*(stream) {
546 if (stream.add(dart.fn(() => o, VoidToObject()))) return; 576 if (stream.add(dart.fn(() => o, VoidToObject$()))) return;
547 yield; 577 yield;
548 }, dart.dynamic); 578 }, VoidToObject());
549 } 579 }
550 dart.fn(f, VoidTodynamic()); 580 dart.fn(f, VoidToStreamOfVoidToObject());
551 return dart.dsend(dart.dload(f(), 'first'), 'then', dart.fn(v => { 581 return f().first.then(dart.dynamic)(dart.fn(v => {
552 src__matcher__expect.expect(dart.dcall(v), src__matcher__core_matchers .same(o)); 582 src__matcher__expect.expect(v(), src__matcher__core_matchers.same(o));
553 }, dynamicTodynamic())); 583 }, FnTodynamic()));
554 }, VoidTodynamic())); 584 }, VoidToFuture()));
555 unittest$.test("function expression arrow", dart.fn(() => { 585 unittest$.test("function expression arrow", dart.fn(() => {
556 let o = new core.Object(); 586 let o = new core.Object();
557 function f() { 587 function f() {
558 return dart.asyncStar(function*(stream) { 588 return dart.asyncStar(function*(stream) {
559 if (stream.add(dart.fn(() => o, VoidToObject()))) return; 589 if (stream.add(dart.fn(() => o, VoidToObject$()))) return;
560 yield; 590 yield;
561 }, dart.dynamic); 591 }, VoidToObject());
562 } 592 }
563 dart.fn(f, VoidTodynamic()); 593 dart.fn(f, VoidToStreamOfVoidToObject());
564 return dart.dsend(dart.dload(f(), 'first'), 'then', dart.fn(v => { 594 return f().first.then(dart.dynamic)(dart.fn(v => {
565 src__matcher__expect.expect(dart.dcall(v), src__matcher__core_matchers .same(o)); 595 src__matcher__expect.expect(v(), src__matcher__core_matchers.same(o));
566 }, dynamicTodynamic())); 596 }, FnTodynamic()));
567 }, VoidTodynamic())); 597 }, VoidToFuture()));
568 unittest$.test("function expression block async", dart.fn(() => { 598 unittest$.test("function expression block async", dart.fn(() => {
569 let o = new core.Object(); 599 let o = new core.Object();
570 function f() { 600 function f() {
571 return dart.asyncStar(function*(stream) { 601 return dart.asyncStar(function*(stream) {
572 if (stream.add(dart.fn(() => dart.async(function*() { 602 if (stream.add(dart.fn(() => dart.async(function*() {
573 return o; 603 return o;
574 }, core.Object), VoidToFutureOfObject()))) return; 604 }, core.Object), VoidToFutureOfObject$()))) return;
575 yield; 605 yield;
576 }, dart.dynamic); 606 }, VoidToFutureOfObject());
577 } 607 }
578 dart.fn(f, VoidTodynamic()); 608 dart.fn(f, VoidToStreamOfVoidToFutureOfObject());
579 return dart.dsend(dart.dsend(dart.dload(f(), 'first'), 'then', dart.fn(v => dart.dcall(v), dynamicTodynamic())), 'then', dart.fn(v => { 609 return f().first.then(FutureOfObject())(dart.fn(v => v(), FnToFutureOfOb ject())).then(dart.dynamic)(dart.fn(v => {
580 src__matcher__expect.expect(v, src__matcher__core_matchers.same(o)); 610 src__matcher__expect.expect(v, src__matcher__core_matchers.same(o));
581 }, dynamicTodynamic())); 611 }, ObjectTodynamic()));
582 }, VoidTodynamic())); 612 }, VoidToFuture()));
583 unittest$.test("function expression arrow async", dart.fn(() => { 613 unittest$.test("function expression arrow async", dart.fn(() => {
584 let o = new core.Object(); 614 let o = new core.Object();
585 function f() { 615 function f() {
586 return dart.asyncStar(function*(stream) { 616 return dart.asyncStar(function*(stream) {
587 if (stream.add(dart.fn(() => dart.async(function*() { 617 if (stream.add(dart.fn(() => dart.async(function*() {
588 return o; 618 return o;
589 }, core.Object), VoidToFutureOfObject()))) return; 619 }, core.Object), VoidToFutureOfObject$()))) return;
590 yield; 620 yield;
591 }, dart.dynamic); 621 }, VoidToFutureOfObject());
592 } 622 }
593 dart.fn(f, VoidTodynamic()); 623 dart.fn(f, VoidToStreamOfVoidToFutureOfObject());
594 return dart.dsend(dart.dsend(dart.dload(f(), 'first'), 'then', dart.fn(v => dart.dcall(v), dynamicTodynamic())), 'then', dart.fn(v => { 624 return f().first.then(FutureOfObject())(dart.fn(v => v(), FnToFutureOfOb ject())).then(dart.dynamic)(dart.fn(v => {
595 src__matcher__expect.expect(v, src__matcher__core_matchers.same(o)); 625 src__matcher__expect.expect(v, src__matcher__core_matchers.same(o));
596 }, dynamicTodynamic())); 626 }, ObjectTodynamic()));
597 }, VoidTodynamic())); 627 }, VoidToFuture()));
598 unittest$.test("function expression block async*", dart.fn(() => { 628 unittest$.test("function expression block async*", dart.fn(() => {
599 let o = new core.Object(); 629 let o = new core.Object();
600 function f() { 630 function f() {
601 return dart.asyncStar(function*(stream) { 631 return dart.asyncStar(function*(stream) {
602 if (stream.add(dart.fn(() => dart.asyncStar(function*(stream) { 632 if (stream.add(dart.fn(() => dart.asyncStar(function*(stream) {
603 if (stream.add(o)) return; 633 if (stream.add(o)) return;
604 yield; 634 yield;
605 }, core.Object), VoidToStreamOfObject()))) return; 635 }, core.Object), VoidToStreamOfObject$()))) return;
606 yield; 636 yield;
607 }, dart.dynamic); 637 }, VoidToStreamOfObject());
608 } 638 }
609 dart.fn(f, VoidTodynamic()); 639 dart.fn(f, VoidToStreamOfVoidToStreamOfObject());
610 return dart.dsend(dart.dsend(dart.dload(f(), 'first'), 'then', dart.fn(v => dart.dload(dart.dcall(v), 'first'), dynamicTodynamic())), 'then', dart.fn(v => { 640 return f().first.then(FutureOfObject())(dart.fn(v => v().first, FnToFutu reOfObject$())).then(dart.dynamic)(dart.fn(v => {
611 src__matcher__expect.expect(v, src__matcher__core_matchers.same(o)); 641 src__matcher__expect.expect(v, src__matcher__core_matchers.same(o));
612 }, dynamicTodynamic())); 642 }, ObjectTodynamic()));
613 }, VoidTodynamic())); 643 }, VoidToFuture()));
614 }, VoidTovoid())); 644 }, VoidTovoid()));
615 unittest$.group("loops", dart.fn(() => { 645 unittest$.group("loops", dart.fn(() => {
616 unittest$.test("simple yield", dart.fn(() => { 646 unittest$.test("simple yield", dart.fn(() => {
617 function f() { 647 function f() {
618 return dart.asyncStar(function*(stream) { 648 return dart.asyncStar(function*(stream) {
619 for (let i = 0; i < 3; i++) { 649 for (let i = 0; i < 3; i++) {
620 if (stream.add(i)) return; 650 if (stream.add(i)) return;
621 yield; 651 yield;
622 } 652 }
623 }, dart.dynamic); 653 }, core.int);
624 } 654 }
625 dart.fn(f, VoidTodynamic()); 655 dart.fn(f, VoidToStreamOfint());
626 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2])); 656 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2]));
627 }, VoidTodynamic())); 657 }, VoidTodynamic()));
628 unittest$.test("yield in double loop", dart.fn(() => { 658 unittest$.test("yield in double loop", dart.fn(() => {
629 function f() { 659 function f() {
630 return dart.asyncStar(function*(stream) { 660 return dart.asyncStar(function*(stream) {
631 for (let i = 0; i < 3; i++) { 661 for (let i = 0; i < 3; i++) {
632 for (let j = 0; j < 2; j++) { 662 for (let j = 0; j < 2; j++) {
633 if (stream.add(i * 2 + j)) return; 663 if (stream.add(i * 2 + j)) return;
634 yield; 664 yield;
635 } 665 }
636 } 666 }
637 }, dart.dynamic); 667 }, core.int);
638 } 668 }
639 dart.fn(f, VoidTodynamic()); 669 dart.fn(f, VoidToStreamOfint());
640 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2, 3, 4, 5])); 670 return async_star_test_02_multi.expectList(f(), JSArrayOfint().of([0, 1, 2, 3, 4, 5]));
641 }, VoidTodynamic())); 671 }, VoidTodynamic()));
642 unittest$.test("yield in try body", dart.fn(() => { 672 unittest$.test("yield in try body", dart.fn(() => {
643 let list = []; 673 let list = [];
644 function f() { 674 function f() {
645 return dart.asyncStar(function*(stream) { 675 return dart.asyncStar(function*(stream) {
646 for (let i = 0; i < 3; i++) { 676 for (let i = 0; i < 3; i++) {
647 try { 677 try {
648 if (stream.add(i)) return; 678 if (stream.add(i)) return;
649 yield; 679 yield;
650 } finally { 680 } finally {
651 list[dartx.add](dart.str`${i}`); 681 list[dartx.add](dart.str`${i}`);
652 } 682 }
653 } 683 }
654 }, dart.dynamic); 684 }, core.int);
655 } 685 }
656 dart.fn(f, VoidTodynamic()); 686 dart.fn(f, VoidToStreamOfint());
657 return dart.dsend(async_star_test_02_multi.expectList(f(), JSArrayOfint( ).of([0, 1, 2])), 'whenComplete', dart.fn(() => { 687 return dart.dsend(async_star_test_02_multi.expectList(f(), JSArrayOfint( ).of([0, 1, 2])), 'whenComplete', dart.fn(() => {
658 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfString().of(["0", "1", "2"]))); 688 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfString().of(["0", "1", "2"])));
659 }, VoidTodynamic())); 689 }, VoidTodynamic()));
660 }, VoidTodynamic())); 690 }, VoidTodynamic()));
661 unittest$.test("yield in catch", dart.fn(() => { 691 unittest$.test("yield in catch", dart.fn(() => {
662 let list = []; 692 let list = [];
663 function f() { 693 function f() {
664 return dart.asyncStar(function*(stream) { 694 return dart.asyncStar(function*(stream) {
665 for (let i = 0; i < 3; i++) { 695 for (let i = 0; i < 3; i++) {
666 try { 696 try {
667 dart.throw(i); 697 dart.throw(i);
668 } catch (e) { 698 } catch (e) {
669 if (stream.add(e)) return; 699 if (stream.add(e)) return;
670 yield; 700 yield;
671 } 701 }
672 finally { 702 finally {
673 list[dartx.add](dart.str`${i}`); 703 list[dartx.add](dart.str`${i}`);
674 } 704 }
675 } 705 }
676 }, dart.dynamic); 706 }, dart.dynamic);
677 } 707 }
678 dart.fn(f, VoidTodynamic()); 708 dart.fn(f, VoidToStream());
679 return dart.dsend(async_star_test_02_multi.expectList(f(), JSArrayOfint( ).of([0, 1, 2])), 'whenComplete', dart.fn(() => { 709 return dart.dsend(async_star_test_02_multi.expectList(f(), JSArrayOfint( ).of([0, 1, 2])), 'whenComplete', dart.fn(() => {
680 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfString().of(["0", "1", "2"]))); 710 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfString().of(["0", "1", "2"])));
681 }, VoidTodynamic())); 711 }, VoidTodynamic()));
682 }, VoidTodynamic())); 712 }, VoidTodynamic()));
683 unittest$.test("yield in finally", dart.fn(() => { 713 unittest$.test("yield in finally", dart.fn(() => {
684 let list = []; 714 let list = [];
685 function f() { 715 function f() {
686 return dart.asyncStar(function*(stream) { 716 return dart.asyncStar(function*(stream) {
687 for (let i = 0; i < 3; i++) { 717 for (let i = 0; i < 3; i++) {
688 try { 718 try {
689 dart.throw(i); 719 dart.throw(i);
690 } finally { 720 } finally {
691 if (stream.add(i)) return; 721 if (stream.add(i)) return;
692 yield; 722 yield;
693 list[dartx.add](dart.str`${i}`); 723 list[dartx.add](dart.str`${i}`);
694 continue; 724 continue;
695 } 725 }
696 } 726 }
697 }, dart.dynamic); 727 }, core.int);
698 } 728 }
699 dart.fn(f, VoidTodynamic()); 729 dart.fn(f, VoidToStreamOfint());
700 return dart.dsend(async_star_test_02_multi.expectList(f(), JSArrayOfint( ).of([0, 1, 2])), 'whenComplete', dart.fn(() => { 730 return dart.dsend(async_star_test_02_multi.expectList(f(), JSArrayOfint( ).of([0, 1, 2])), 'whenComplete', dart.fn(() => {
701 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfString().of(["0", "1", "2"]))); 731 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfString().of(["0", "1", "2"])));
702 }, VoidTodynamic())); 732 }, VoidTodynamic()));
703 }, VoidTodynamic())); 733 }, VoidTodynamic()));
704 unittest$.test("keep yielding after cancel", dart.fn(() => { 734 unittest$.test("keep yielding after cancel", dart.fn(() => {
705 function f() { 735 function f() {
706 return dart.asyncStar(function*(stream) { 736 return dart.asyncStar(function*(stream) {
707 for (let i = 0; i < 10; i++) { 737 for (let i = 0; i < 10; i++) {
708 try { 738 try {
709 if (stream.add(i)) return; 739 if (stream.add(i)) return;
710 yield; 740 yield;
711 } finally { 741 } finally {
712 continue; 742 continue;
713 } 743 }
714 } 744 }
715 }, dart.dynamic); 745 }, core.int);
716 } 746 }
717 dart.fn(f, VoidTodynamic()); 747 dart.fn(f, VoidToStreamOfint());
718 return async_star_test_02_multi.expectList(dart.dsend(f(), 'take', 3), J SArrayOfint().of([0, 1, 2])); 748 return async_star_test_02_multi.expectList(f().take(3), JSArrayOfint().o f([0, 1, 2]));
719 }, VoidTodynamic())); 749 }, VoidTodynamic()));
720 }, VoidTovoid())); 750 }, VoidTovoid()));
721 unittest$.group("canceling", dart.fn(() => { 751 unittest$.group("canceling", dart.fn(() => {
722 unittest$.test("cancels at yield", dart.fn(() => { 752 unittest$.test("cancels at yield", dart.fn(() => {
723 let exits = async.Completer.new(); 753 let exits = async.Completer.new();
724 let list = []; 754 let list = [];
725 function f() { 755 function f() {
726 return dart.asyncStar(function*(stream) { 756 return dart.asyncStar(function*(stream) {
727 try { 757 try {
728 list[dartx.add](0); 758 list[dartx.add](0);
729 if (stream.add(list[dartx.add](1))) return; 759 if (stream.add(list[dartx.add](1))) return;
730 yield; 760 yield;
731 list[dartx.add](2); 761 list[dartx.add](2);
732 } finally { 762 } finally {
733 exits.complete(3); 763 exits.complete(3);
734 } 764 }
735 }, dart.dynamic); 765 }, dart.void);
736 } 766 }
737 dart.fn(f, VoidTodynamic()); 767 dart.fn(f, VoidToStreamOfvoid());
738 let subscription = dart.dsend(f(), 'listen', dart.fn(v => { 768 let subscription = f().listen(dart.fn(v => {
739 src__matcher__expect.fail(dart.str`Received event ${v}`); 769 src__matcher__expect.fail(dart.str`Received event ${v}`);
740 }, dynamicTodynamic()), {onDone: dart.fn(() => { 770 }, voidTovoid()), {onDone: dart.fn(() => {
741 src__matcher__expect.fail("Received done"); 771 src__matcher__expect.fail("Received done");
742 }, VoidTodynamic())}); 772 }, VoidTovoid())});
743 dart.dsend(subscription, 'cancel'); 773 subscription.cancel();
744 return exits.future.then(dart.dynamic)(dart.fn(v => { 774 return exits.future.then(dart.dynamic)(dart.fn(v => {
745 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(3)); 775 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(3));
746 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfint().of([0, 1]))); 776 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfint().of([0, 1])));
747 }, dynamicTodynamic())); 777 }, dynamicTodynamic()));
748 }, VoidToFuture())); 778 }, VoidToFuture()));
749 unittest$.test("does cancel eventually", dart.fn(() => { 779 unittest$.test("does cancel eventually", dart.fn(() => {
750 let exits = async.Completer.new(); 780 let exits = async.Completer.new();
751 let list = []; 781 let list = [];
752 function f() { 782 function f() {
753 return dart.asyncStar(function*(stream) { 783 return dart.asyncStar(function*(stream) {
754 let i = 0; 784 let i = 0;
755 try { 785 try {
756 while (true) { 786 while (true) {
757 if (stream.add(i++)) return; 787 if (stream.add(i++)) return;
758 yield; 788 yield;
759 } 789 }
760 } finally { 790 } finally {
761 list[dartx.add]("a"); 791 list[dartx.add]("a");
762 exits.complete(i); 792 exits.complete(i);
763 } 793 }
764 }, dart.dynamic); 794 }, core.int);
765 } 795 }
766 dart.fn(f, VoidTodynamic()); 796 dart.fn(f, VoidToStreamOfint());
767 return dart.dsend(dart.dsend(async_star_test_02_multi.expectList(dart.ds end(f(), 'take', 5), JSArrayOfint().of([0, 1, 2, 3, 4])), 'then', dart.fn(_ => e xits.future, dynamicToFuture())), 'then', dart.fn(v => { 797 return dart.dsend(dart.dsend(async_star_test_02_multi.expectList(f().tak e(5), JSArrayOfint().of([0, 1, 2, 3, 4])), 'then', dart.fn(_ => exits.future, dy namicToFuture())), 'then', dart.fn(v => {
768 src__matcher__expect.expect(v, src__matcher__numeric_matchers.greaterT han(4)); 798 src__matcher__expect.expect(v, src__matcher__numeric_matchers.greaterT han(4));
769 src__matcher__expect.expect(list, JSArrayOfString().of(["a"])); 799 src__matcher__expect.expect(list, JSArrayOfString().of(["a"]));
770 }, dynamicTodynamic())); 800 }, dynamicTodynamic()));
771 }, VoidTodynamic())); 801 }, VoidTodynamic()));
772 unittest$.group("at index", dart.fn(() => { 802 unittest$.group("at index", dart.fn(() => {
773 function f() { 803 function f() {
774 return dart.asyncStar(function*(stream) { 804 return dart.asyncStar(function*(stream) {
775 try { 805 try {
776 if (stream.add(yield async.Future.microtask(dart.fn(() => 1, VoidT oint())))) return; 806 if (stream.add(yield async.Future.microtask(dart.fn(() => 1, VoidT oint())))) return;
777 yield; 807 yield;
778 } finally { 808 } finally {
779 try { 809 try {
780 if (stream.add(yield async.Future.microtask(dart.fn(() => 2, Voi dToint())))) return; 810 if (stream.add(yield async.Future.microtask(dart.fn(() => 2, Voi dToint())))) return;
781 yield; 811 yield;
782 } finally { 812 } finally {
783 if (stream.add(yield async.Future.microtask(dart.fn(() => 3, Voi dToint())))) return; 813 if (stream.add(yield async.Future.microtask(dart.fn(() => 3, Voi dToint())))) return;
784 yield; 814 yield;
785 } 815 }
786 } 816 }
787 }, dart.dynamic); 817 }, dart.dynamic);
788 } 818 }
789 dart.fn(f, VoidTodynamic()); 819 dart.fn(f, VoidToStream());
790 unittest$.test("- all, sanity check", dart.fn(() => async_star_test_02_m ulti.expectList(f(), JSArrayOfint().of([1, 2, 3])), VoidTodynamic())); 820 unittest$.test("- all, sanity check", dart.fn(() => async_star_test_02_m ulti.expectList(f(), JSArrayOfint().of([1, 2, 3])), VoidTodynamic()));
791 unittest$.test("after end", dart.fn(() => async_star_test_02_multi.expec tList(dart.dsend(f(), 'take', 4), JSArrayOfint().of([1, 2, 3])), VoidTodynamic() )); 821 unittest$.test("after end", dart.fn(() => async_star_test_02_multi.expec tList(f().take(4), JSArrayOfint().of([1, 2, 3])), VoidTodynamic()));
792 unittest$.test("at end", dart.fn(() => async_star_test_02_multi.expectLi st(dart.dsend(f(), 'take', 3), JSArrayOfint().of([1, 2, 3])), VoidTodynamic())); 822 unittest$.test("at end", dart.fn(() => async_star_test_02_multi.expectLi st(f().take(3), JSArrayOfint().of([1, 2, 3])), VoidTodynamic()));
793 unittest$.test("before end", dart.fn(() => async_star_test_02_multi.expe ctList(dart.dsend(f(), 'take', 2), JSArrayOfint().of([1, 2])), VoidTodynamic())) ; 823 unittest$.test("before end", dart.fn(() => async_star_test_02_multi.expe ctList(f().take(2), JSArrayOfint().of([1, 2])), VoidTodynamic()));
794 unittest$.test("early", dart.fn(() => async_star_test_02_multi.expectLis t(dart.dsend(f(), 'take', 1), JSArrayOfint().of([1])), VoidTodynamic())); 824 unittest$.test("early", dart.fn(() => async_star_test_02_multi.expectLis t(f().take(1), JSArrayOfint().of([1])), VoidTodynamic()));
795 unittest$.test("at start", dart.fn(() => async_star_test_02_multi.expect List(dart.dsend(f(), 'take', 0), []), VoidTodynamic())); 825 unittest$.test("at start", dart.fn(() => async_star_test_02_multi.expect List(f().take(0), []), VoidTodynamic()));
796 }, VoidTovoid())); 826 }, VoidTovoid()));
797 }, VoidTovoid())); 827 }, VoidTovoid()));
798 unittest$.group("pausing", dart.fn(() => { 828 unittest$.group("pausing", dart.fn(() => {
799 unittest$.test("pauses execution at yield for at least a microtask", dart. fn(() => { 829 unittest$.test("pauses execution at yield for at least a microtask", dart. fn(() => {
800 let list = []; 830 let list = [];
801 function f() { 831 function f() {
802 return dart.asyncStar(function*(stream) { 832 return dart.asyncStar(function*(stream) {
803 list[dartx.add](1); 833 list[dartx.add](1);
804 if (stream.add(2)) return; 834 if (stream.add(2)) return;
805 yield; 835 yield;
806 list[dartx.add](3); 836 list[dartx.add](3);
807 if (stream.add(4)) return; 837 if (stream.add(4)) return;
808 yield; 838 yield;
809 list[dartx.add](5); 839 list[dartx.add](5);
810 }, dart.dynamic); 840 }, core.int);
811 } 841 }
812 dart.fn(f, VoidTodynamic()); 842 dart.fn(f, VoidToStreamOfint());
813 let done = async.Completer.new(); 843 let done = async.Completer.new();
814 let sub = dart.dsend(f(), 'listen', dart.fn(v => { 844 let sub = f().listen(dart.fn(v => {
815 if (dart.equals(v, 2)) { 845 if (v == 2) {
816 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1]))); 846 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1])));
817 } else if (dart.equals(v, 4)) { 847 } else if (v == 4) {
818 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3]))); 848 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3])));
819 } else { 849 } else {
820 src__matcher__expect.fail(dart.str`Unexpected value ${v}`); 850 src__matcher__expect.fail(dart.str`Unexpected value ${v}`);
821 } 851 }
822 }, dynamicTodynamic()), {onDone: dart.fn(() => { 852 }, intTovoid()), {onDone: dart.fn(() => {
823 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3, 5]))); 853 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3, 5])));
824 done.complete(); 854 done.complete();
825 }, VoidTodynamic())}); 855 }, VoidTovoid())});
826 return done.future; 856 return done.future;
827 }, VoidToFuture())); 857 }, VoidToFuture()));
828 unittest$.test("pause stops execution at yield", dart.fn(() => { 858 unittest$.test("pause stops execution at yield", dart.fn(() => {
829 let list = []; 859 let list = [];
830 function f() { 860 function f() {
831 return dart.asyncStar(function*(stream) { 861 return dart.asyncStar(function*(stream) {
832 list[dartx.add](1); 862 list[dartx.add](1);
833 if (stream.add(2)) return; 863 if (stream.add(2)) return;
834 yield; 864 yield;
835 list[dartx.add](3); 865 list[dartx.add](3);
836 if (stream.add(4)) return; 866 if (stream.add(4)) return;
837 yield; 867 yield;
838 list[dartx.add](5); 868 list[dartx.add](5);
839 }, dart.dynamic); 869 }, core.int);
840 } 870 }
841 dart.fn(f, VoidTodynamic()); 871 dart.fn(f, VoidToStreamOfint());
842 let done = async.Completer.new(); 872 let done = async.Completer.new();
843 let sub = null; 873 let sub = null;
844 sub = dart.dsend(f(), 'listen', dart.fn(v => { 874 sub = f().listen(dart.fn(v => {
845 if (dart.equals(v, 2)) { 875 if (v == 2) {
846 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1]))); 876 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1])));
847 dart.dsend(sub, 'pause'); 877 dart.dsend(sub, 'pause');
848 async.Timer.new(async_star_test_02_multi.MS['*'](300), dart.fn(() => { 878 async.Timer.new(async_star_test_02_multi.MS['*'](300), dart.fn(() => {
849 src__matcher__expect.expect(list[dartx.length], src__matcher__nume ric_matchers.lessThan(3)); 879 src__matcher__expect.expect(list[dartx.length], src__matcher__nume ric_matchers.lessThan(3));
850 dart.dsend(sub, 'resume'); 880 dart.dsend(sub, 'resume');
851 }, VoidTovoid())); 881 }, VoidTovoid()));
852 } else if (dart.equals(v, 4)) { 882 } else if (v == 4) {
853 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3]))); 883 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3])));
854 } else { 884 } else {
855 src__matcher__expect.fail(dart.str`Unexpected value ${v}`); 885 src__matcher__expect.fail(dart.str`Unexpected value ${v}`);
856 } 886 }
857 }, dynamicTodynamic()), {onDone: dart.fn(() => { 887 }, intTovoid()), {onDone: dart.fn(() => {
858 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3, 5]))); 888 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfint().of([1, 3, 5])));
859 done.complete(); 889 done.complete();
860 }, VoidTodynamic())}); 890 }, VoidTovoid())});
861 return done.future; 891 return done.future;
862 }, VoidToFuture())); 892 }, VoidToFuture()));
863 unittest$.test("pause stops execution at yield 2", dart.fn(() => { 893 unittest$.test("pause stops execution at yield 2", dart.fn(() => {
864 let list = []; 894 let list = [];
865 function f() { 895 function f() {
866 return dart.asyncStar(function*(stream) { 896 return dart.asyncStar(function*(stream) {
867 let i = 0; 897 let i = 0;
868 while (true) { 898 while (true) {
869 if (stream.add(i)) return; 899 if (stream.add(i)) return;
870 yield; 900 yield;
871 list[dartx.add](i); 901 list[dartx.add](i);
872 i++; 902 i++;
873 } 903 }
874 }, dart.dynamic); 904 }, core.int);
875 } 905 }
876 dart.fn(f, VoidTodynamic()); 906 dart.fn(f, VoidToStreamOfint());
877 let expected = 0; 907 let expected = 0;
878 let done = async.Completer.new(); 908 let done = async.Completer.new();
879 let sub = null; 909 let sub = null;
880 sub = dart.dsend(f(), 'listen', dart.fn(v => { 910 sub = f().listen(dart.fn(v => {
881 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(expe cted++)); 911 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(expe cted++));
882 if (dart.equals(dart.dsend(v, '%', 5), 0)) { 912 if (v[dartx['%']](5) == 0) {
883 dart.dsend(sub, 'pause', async.Future.delayed(async_star_test_02_mul ti.MS['*'](300))); 913 dart.dsend(sub, 'pause', async.Future.delayed(async_star_test_02_mul ti.MS['*'](300)));
884 } else if (dart.equals(v, 17)) { 914 } else if (v == 17) {
885 dart.dsend(sub, 'cancel'); 915 dart.dsend(sub, 'cancel');
886 done.complete(); 916 done.complete();
887 } 917 }
888 }, dynamicTodynamic()), {onDone: dart.fn(() => { 918 }, intTovoid()), {onDone: dart.fn(() => {
889 src__matcher__expect.fail("Unexpected done!"); 919 src__matcher__expect.fail("Unexpected done!");
890 }, VoidTodynamic())}); 920 }, VoidTovoid())});
891 return done.future.whenComplete(dart.fn(() => { 921 return done.future.whenComplete(dart.fn(() => {
892 src__matcher__expect.expect(list[dartx.length] == 18 || list[dartx.len gth] == 19, src__matcher__core_matchers.isTrue); 922 src__matcher__expect.expect(list[dartx.length] == 18 || list[dartx.len gth] == 19, src__matcher__core_matchers.isTrue);
893 }, VoidTodynamic())); 923 }, VoidTodynamic()));
894 }, VoidToFuture())); 924 }, VoidToFuture()));
895 unittest$.test("canceling while paused at yield", dart.fn(() => { 925 unittest$.test("canceling while paused at yield", dart.fn(() => {
896 let list = []; 926 let list = [];
897 let sync = new async_star_test_02_multi.Sync(); 927 let sync = new async_star_test_02_multi.Sync();
898 function f() { 928 function f() {
899 return dart.asyncStar(function*(stream) { 929 return dart.asyncStar(function*(stream) {
900 list[dartx.add]("*1"); 930 list[dartx.add]("*1");
901 if (stream.add(1)) return; 931 if (stream.add(1)) return;
902 yield; 932 yield;
903 yield sync.wait(); 933 yield sync.wait();
904 sync.release(); 934 sync.release();
905 list[dartx.add]("*2"); 935 list[dartx.add]("*2");
906 if (stream.add(2)) return; 936 if (stream.add(2)) return;
907 yield; 937 yield;
908 list[dartx.add]("*3"); 938 list[dartx.add]("*3");
909 }, dart.dynamic); 939 }, core.int);
910 } 940 }
911 dart.fn(f, VoidTodynamic()); 941 dart.fn(f, VoidToStreamOfint());
912 ; 942 ;
913 let stream = f(); 943 let stream = f();
914 let sub = dart.dsend(stream, 'listen', dart.fn(x => list[dartx.add](x), dynamicTovoid())); 944 let sub = stream.listen(dart.fn(x => list[dartx.add](x), intTovoid()));
915 return sync.wait().whenComplete(dart.fn(() => { 945 return sync.wait().whenComplete(dart.fn(() => {
916 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfObject().of(["*1", 1]))); 946 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfObject().of(["*1", 1])));
917 dart.dsend(sub, 'pause'); 947 sub.pause();
918 return sync.wait(); 948 return sync.wait();
919 }, VoidToFuture())).whenComplete(dart.fn(() => { 949 }, VoidToFuture())).whenComplete(dart.fn(() => {
920 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfObject().of(["*1", 1, "*2"]))); 950 src__matcher__expect.expect(list, src__matcher__core_matchers.equals(J SArrayOfObject().of(["*1", 1, "*2"])));
921 dart.dsend(sub, 'cancel'); 951 sub.cancel();
922 return async.Future.delayed(async_star_test_02_multi.MS['*'](200), dar t.fn(() => { 952 return async.Future.delayed(async_star_test_02_multi.MS['*'](200), dar t.fn(() => {
923 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfObject().of(["*1", 1, "*2"]))); 953 src__matcher__expect.expect(list, src__matcher__core_matchers.equals (JSArrayOfObject().of(["*1", 1, "*2"])));
924 }, VoidTodynamic())); 954 }, VoidTodynamic()));
925 }, VoidToFuture())); 955 }, VoidToFuture()));
926 }, VoidToFuture())); 956 }, VoidToFuture()));
927 }, VoidTovoid())); 957 }, VoidTovoid()));
928 unittest$.group("await for", dart.fn(() => { 958 unittest$.group("await for", dart.fn(() => {
929 function mkStream(n) { 959 function mkStream(n) {
930 return dart.asyncStar(function*(stream, n) { 960 return dart.asyncStar(function*(stream, n) {
931 for (let i = 0; i < dart.notNull(n); i++) { 961 for (let i = 0; i < dart.notNull(n); i++) {
932 if (stream.add(i)) return; 962 if (stream.add(i)) return;
933 yield; 963 yield;
934 } 964 }
935 }, dart.dynamic, n); 965 }, core.int, n);
936 } 966 }
937 dart.fn(mkStream, intTodynamic()); 967 dart.fn(mkStream, intToStreamOfint());
938 unittest$.test("simple stream", dart.fn(() => { 968 unittest$.test("simple stream", dart.fn(() => {
939 function f(s) { 969 function f(s) {
940 return dart.async(function*(s) { 970 return dart.async(function*(s) {
941 let r = 0; 971 let r = 0;
942 let it = async.StreamIterator.new(async.Stream._check(s)); 972 let it = async.StreamIterator.new(async.Stream._check(s));
943 try { 973 try {
944 while (yield it.moveNext()) { 974 while (yield it.moveNext()) {
945 let v = it.current; 975 let v = it.current;
946 r = dart.notNull(r) + dart.notNull(core.int._check(v)); 976 r = dart.notNull(r) + dart.notNull(core.int._check(v));
947 } 977 }
948 } finally { 978 } finally {
949 yield it.cancel(); 979 yield it.cancel();
950 } 980 }
951 return r; 981 return r;
952 }, dart.dynamic, s); 982 }, core.int, s);
953 } 983 }
954 dart.fn(f, dynamicTodynamic()); 984 dart.fn(f, dynamicToFutureOfint());
955 return dart.dsend(f(mkStream(5)), 'then', dart.fn(v => { 985 return f(mkStream(5)).then(dart.dynamic)(dart.fn(v => {
956 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(10)) ; 986 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(10)) ;
957 }, dynamicTodynamic())); 987 }, intTodynamic()));
958 }, VoidTodynamic())); 988 }, VoidToFuture()));
959 unittest$.test("simple stream, await", dart.fn(() => { 989 unittest$.test("simple stream, await", dart.fn(() => {
960 function f(s) { 990 function f(s) {
961 return dart.async(function*(s) { 991 return dart.async(function*(s) {
962 let r = 0; 992 let r = 0;
963 let it = async.StreamIterator.new(async.Stream._check(s)); 993 let it = async.StreamIterator.new(async.Stream._check(s));
964 try { 994 try {
965 while (yield it.moveNext()) { 995 while (yield it.moveNext()) {
966 let v = it.current; 996 let v = it.current;
967 r = dart.notNull(r) + dart.notNull(core.int._check(yield async.F uture.microtask(dart.fn(() => v, VoidTodynamic())))); 997 r = dart.notNull(r) + dart.notNull(core.int._check(yield async.F uture.microtask(dart.fn(() => v, VoidTodynamic()))));
968 } 998 }
969 } finally { 999 } finally {
970 yield it.cancel(); 1000 yield it.cancel();
971 } 1001 }
972 return r; 1002 return r;
973 }, dart.dynamic, s); 1003 }, core.int, s);
974 } 1004 }
975 dart.fn(f, dynamicTodynamic()); 1005 dart.fn(f, dynamicToFutureOfint());
976 return dart.dsend(f(mkStream(5)), 'then', dart.fn(v => { 1006 return f(mkStream(5)).then(dart.dynamic)(dart.fn(v => {
977 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(10)) ; 1007 src__matcher__expect.expect(v, src__matcher__core_matchers.equals(10)) ;
978 }, dynamicTodynamic())); 1008 }, intTodynamic()));
979 }, VoidTodynamic())); 1009 }, VoidToFuture()));
980 unittest$.test("simple stream reyield", dart.fn(() => { 1010 unittest$.test("simple stream reyield", dart.fn(() => {
981 function f(s) { 1011 function f(s) {
982 return dart.asyncStar(function*(stream, s) { 1012 return dart.asyncStar(function*(stream, s) {
983 let r = 0; 1013 let r = 0;
984 let it = async.StreamIterator.new(async.Stream._check(s)); 1014 let it = async.StreamIterator.new(async.Stream._check(s));
985 try { 1015 try {
986 while (yield it.moveNext()) { 1016 while (yield it.moveNext()) {
987 let v = it.current; 1017 let v = it.current;
988 if (stream.add((r = dart.notNull(r) + dart.notNull(core.int._che ck(v))))) return; 1018 if (stream.add((r = dart.notNull(r) + dart.notNull(core.int._che ck(v))))) return;
989 yield; 1019 yield;
990 } 1020 }
991 } finally { 1021 } finally {
992 yield it.cancel(); 1022 yield it.cancel();
993 } 1023 }
994 }, dart.dynamic, s); 1024 }, core.num, s);
995 } 1025 }
996 dart.fn(f, dynamicTodynamic()); 1026 dart.fn(f, dynamicToStreamOfnum());
997 return async_star_test_02_multi.expectList(f(mkStream(5)), JSArrayOfint( ).of([0, 1, 3, 6, 10])); 1027 return async_star_test_02_multi.expectList(f(mkStream(5)), JSArrayOfint( ).of([0, 1, 3, 6, 10]));
998 }, VoidTodynamic())); 1028 }, VoidTodynamic()));
999 unittest$.test("simple stream, await, reyield", dart.fn(() => { 1029 unittest$.test("simple stream, await, reyield", dart.fn(() => {
1000 function f(s) { 1030 function f(s) {
1001 return dart.asyncStar(function*(stream, s) { 1031 return dart.asyncStar(function*(stream, s) {
1002 let r = 0; 1032 let r = 0;
1003 let it = async.StreamIterator.new(async.Stream._check(s)); 1033 let it = async.StreamIterator.new(async.Stream._check(s));
1004 try { 1034 try {
1005 while (yield it.moveNext()) { 1035 while (yield it.moveNext()) {
1006 let v = it.current; 1036 let v = it.current;
1007 if (stream.add((r = dart.notNull(r) + dart.notNull(core.int._che ck(yield async.Future.microtask(dart.fn(() => v, VoidTodynamic()))))))) return; 1037 if (stream.add((r = dart.notNull(r) + dart.notNull(core.int._che ck(yield async.Future.microtask(dart.fn(() => v, VoidTodynamic()))))))) return;
1008 yield; 1038 yield;
1009 } 1039 }
1010 } finally { 1040 } finally {
1011 yield it.cancel(); 1041 yield it.cancel();
1012 } 1042 }
1013 }, dart.dynamic, s); 1043 }, core.num, s);
1014 } 1044 }
1015 dart.fn(f, dynamicTodynamic()); 1045 dart.fn(f, dynamicToStreamOfnum());
1016 return async_star_test_02_multi.expectList(f(mkStream(5)), JSArrayOfint( ).of([0, 1, 3, 6, 10])); 1046 return async_star_test_02_multi.expectList(f(mkStream(5)), JSArrayOfint( ).of([0, 1, 3, 6, 10]));
1017 }, VoidTodynamic())); 1047 }, VoidTodynamic()));
1018 unittest$.test("nested", dart.fn(() => { 1048 unittest$.test("nested", dart.fn(() => {
1019 function f() { 1049 function f() {
1020 return dart.async(function*() { 1050 return dart.async(function*() {
1021 let r = 0; 1051 let r = 0;
1022 let it = async.StreamIterator.new(async.Stream._check(mkStream(5))); 1052 let it = async.StreamIterator.new(mkStream(5));
1023 try { 1053 try {
1024 while (yield it.moveNext()) { 1054 while (yield it.moveNext()) {
1025 let i = it.current; 1055 let i = it.current;
1026 let it$ = async.StreamIterator.new(async.Stream._check(mkStream( 3))); 1056 let it$ = async.StreamIterator.new(mkStream(3));
1027 try { 1057 try {
1028 while (yield it$.moveNext()) { 1058 while (yield it$.moveNext()) {
1029 let j = it$.current; 1059 let j = it$.current;
1030 r = dart.notNull(r) + dart.notNull(core.int._check(dart.dsen d(i, '*', j))); 1060 r = r + dart.notNull(i) * dart.notNull(j);
1031 } 1061 }
1032 } finally { 1062 } finally {
1033 yield it$.cancel(); 1063 yield it$.cancel();
1034 } 1064 }
1035 } 1065 }
1036 } finally { 1066 } finally {
1037 yield it.cancel(); 1067 yield it.cancel();
1038 } 1068 }
1039 return r; 1069 return r;
1040 }, dart.dynamic); 1070 }, core.int);
1041 } 1071 }
1042 dart.fn(f, VoidTodynamic()); 1072 dart.fn(f, VoidToFutureOfint());
1043 return dart.dsend(f(), 'then', dart.fn(v => { 1073 return f().then(dart.dynamic)(dart.fn(v => {
1044 src__matcher__expect.expect(v, src__matcher__core_matchers.equals((1 + 2 + 3 + 4) * (1 + 2))); 1074 src__matcher__expect.expect(v, src__matcher__core_matchers.equals((1 + 2 + 3 + 4) * (1 + 2)));
1045 }, dynamicTodynamic())); 1075 }, intTodynamic()));
1046 }, VoidTodynamic())); 1076 }, VoidToFuture()));
1047 unittest$.test("nested, await", dart.fn(() => { 1077 unittest$.test("nested, await", dart.fn(() => {
1048 function f() { 1078 function f() {
1049 return dart.async(function*() { 1079 return dart.async(function*() {
1050 let r = 0; 1080 let r = 0;
1051 let it = async.StreamIterator.new(async.Stream._check(mkStream(5))); 1081 let it = async.StreamIterator.new(mkStream(5));
1052 try { 1082 try {
1053 while (yield it.moveNext()) { 1083 while (yield it.moveNext()) {
1054 let i = it.current; 1084 let i = it.current;
1055 let it$ = async.StreamIterator.new(async.Stream._check(mkStream( 3))); 1085 let it$ = async.StreamIterator.new(mkStream(3));
1056 try { 1086 try {
1057 while (yield it$.moveNext()) { 1087 while (yield it$.moveNext()) {
1058 let j = it$.current; 1088 let j = it$.current;
1059 r = dart.notNull(r) + dart.notNull(core.int._check(yield asy nc.Future.microtask(dart.fn(() => dart.dsend(i, '*', j), VoidTodynamic())))); 1089 r = dart.notNull(r) + dart.notNull(core.int._check(yield asy nc.Future.microtask(dart.fn(() => dart.notNull(i) * dart.notNull(j), VoidToint() ))));
1060 } 1090 }
1061 } finally { 1091 } finally {
1062 yield it$.cancel(); 1092 yield it$.cancel();
1063 } 1093 }
1064 } 1094 }
1065 } finally { 1095 } finally {
1066 yield it.cancel(); 1096 yield it.cancel();
1067 } 1097 }
1068 return r; 1098 return r;
1069 }, dart.dynamic); 1099 }, core.int);
1070 } 1100 }
1071 dart.fn(f, VoidTodynamic()); 1101 dart.fn(f, VoidToFutureOfint());
1072 return dart.dsend(f(), 'then', dart.fn(v => { 1102 return f().then(dart.dynamic)(dart.fn(v => {
1073 src__matcher__expect.expect(v, src__matcher__core_matchers.equals((1 + 2 + 3 + 4) * (1 + 2))); 1103 src__matcher__expect.expect(v, src__matcher__core_matchers.equals((1 + 2 + 3 + 4) * (1 + 2)));
1074 }, dynamicTodynamic())); 1104 }, intTodynamic()));
1075 }, VoidTodynamic())); 1105 }, VoidToFuture()));
1076 unittest$.test("nested, await * 2", dart.fn(() => { 1106 unittest$.test("nested, await * 2", dart.fn(() => {
1077 function f() { 1107 function f() {
1078 return dart.async(function*() { 1108 return dart.async(function*() {
1079 let r = 0; 1109 let r = 0;
1080 let it = async.StreamIterator.new(async.Stream._check(mkStream(5))); 1110 let it = async.StreamIterator.new(mkStream(5));
1081 try { 1111 try {
1082 while (yield it.moveNext()) { 1112 while (yield it.moveNext()) {
1083 let i = it.current; 1113 let i = it.current;
1084 let ai = (yield async.Future.microtask(dart.fn(() => i, VoidTody namic()))); 1114 let ai = (yield async.Future.microtask(dart.fn(() => i, VoidToin t())));
1085 let it$ = async.StreamIterator.new(async.Stream._check(mkStream( 3))); 1115 let it$ = async.StreamIterator.new(mkStream(3));
1086 try { 1116 try {
1087 while (yield it$.moveNext()) { 1117 while (yield it$.moveNext()) {
1088 let j = it$.current; 1118 let j = it$.current;
1089 r = dart.notNull(r) + dart.notNull(core.int._check(yield asy nc.Future.microtask(dart.fn(() => dart.dsend(ai, '*', j), VoidTodynamic())))); 1119 r = dart.notNull(r) + dart.notNull(core.int._check(yield asy nc.Future.microtask(dart.fn(() => dart.dsend(ai, '*', j), VoidTodynamic()))));
1090 } 1120 }
1091 } finally { 1121 } finally {
1092 yield it$.cancel(); 1122 yield it$.cancel();
1093 } 1123 }
1094 } 1124 }
1095 } finally { 1125 } finally {
1096 yield it.cancel(); 1126 yield it.cancel();
1097 } 1127 }
1098 return r; 1128 return r;
1099 }, dart.dynamic); 1129 }, core.int);
1100 } 1130 }
1101 dart.fn(f, VoidTodynamic()); 1131 dart.fn(f, VoidToFutureOfint());
1102 return dart.dsend(f(), 'then', dart.fn(v => { 1132 return f().then(dart.dynamic)(dart.fn(v => {
1103 src__matcher__expect.expect(v, src__matcher__core_matchers.equals((1 + 2 + 3 + 4) * (1 + 2))); 1133 src__matcher__expect.expect(v, src__matcher__core_matchers.equals((1 + 2 + 3 + 4) * (1 + 2)));
1104 }, dynamicTodynamic())); 1134 }, intTodynamic()));
1105 }, VoidTodynamic())); 1135 }, VoidToFuture()));
1106 }, VoidTovoid())); 1136 }, VoidTovoid()));
1107 }; 1137 };
1108 dart.fn(async_star_test_02_multi.main, VoidTodynamic()); 1138 dart.fn(async_star_test_02_multi.main, VoidTodynamic());
1109 async_star_test_02_multi.id = function(x) { 1139 async_star_test_02_multi.id = function(x) {
1110 try { 1140 try {
1111 if (x != null) dart.throw(x); 1141 if (x != null) dart.throw(x);
1112 } catch (e) { 1142 } catch (e) {
1113 return e; 1143 return e;
1114 } 1144 }
1115 1145
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1167 }; 1197 };
1168 dart.setSignature(async_star_test_02_multi.Sync, { 1198 dart.setSignature(async_star_test_02_multi.Sync, {
1169 methods: () => ({ 1199 methods: () => ({
1170 wait: dart.definiteFunctionType(async.Future, [], [dart.dynamic]), 1200 wait: dart.definiteFunctionType(async.Future, [], [dart.dynamic]),
1171 release: dart.definiteFunctionType(dart.void, [], [dart.dynamic]) 1201 release: dart.definiteFunctionType(dart.void, [], [dart.dynamic])
1172 }) 1202 })
1173 }); 1203 });
1174 // Exports: 1204 // Exports:
1175 exports.async_star_test_02_multi = async_star_test_02_multi; 1205 exports.async_star_test_02_multi = async_star_test_02_multi;
1176 }); 1206 });
OLDNEW
« no previous file with comments | « test/codegen_expected/language/async_star_test_01_multi.js ('k') | test/codegen_expected/language/async_star_test_03_multi.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698