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

Side by Side Diff: tests/language/async_await_syntax_test.dart

Issue 1204103002: Yield in non-generator function is compile-time error (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: yield in non-generator is compile-time error Created 5 years, 5 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
« no previous file with comments | « runtime/vm/parser.cc ('k') | tests/language/language_dart2js.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // Test async/await syntax. 5 // Test async/await syntax.
6 6
7 import 'dart:async' show Stream; 7 import 'dart:async' show Stream;
8 8
9 var yield = 0; 9 var yield = 0;
10 var await = 0; 10 var await = 0;
11 get st => new Stream.fromIterable([]); 11 get st => new Stream.fromIterable([]);
12 12
13 a01a() async => null; /// a01a: ok 13 a01a() async => null; /// a01a: ok
14 a01b() async* => null; /// a01b: compile-time error 14 a01b() async* => null; /// a01b: compile-time error
15 a01c() sync* => null; /// a01c: compile-time error 15 a01c() sync* => null; /// a01c: compile-time error
16 a01d() async => yield 5; /// a01d: compile-time error
16 a02a() async {} /// a02a: ok 17 a02a() async {} /// a02a: ok
17 a03a() async* {} /// a03a: ok 18 a03a() async* {} /// a03a: ok
18 a03b() async * {} /// a03b: ok 19 a03b() async * {} /// a03b: ok
19 a04a() sync* {} /// a04a: ok 20 a04a() sync* {} /// a04a: ok
20 a04b() sync {} /// a04b: compile-time error 21 a04b() sync {} /// a04b: compile-time error
21 a04c() sync * {} /// a04c: ok 22 a04c() sync * {} /// a04c: ok
22 a05a() async { await 0; } /// a05a: ok 23 a05a() async { await 0; } /// a05a: ok
23 a05b() async { /// a05b: ok 24 a05b() async { /// a05b: ok
24 await(a) {}; /// a05b: continued 25 await(a) {}; /// a05b: continued
25 await(0); /// a05b: continued 26 await(0); /// a05b: continued
26 } /// a05b: continued 27 } /// a05b: continued
27 a05c() { /// a05c: ok 28 a05c() { /// a05c: ok
28 await(a) {}; /// a05c: continued 29 await(a) {}; /// a05c: continued
29 await(0); /// a05c: continued 30 await(0); /// a05c: continued
30 } /// a05c: continued 31 } /// a05c: continued
31 a05d() async { /// a05d: compile-time error 32 a05d() async { /// a05d: compile-time error
32 await(a) {} /// a05d: continued 33 await(a) {} /// a05d: continued
33 await(0); /// a05d: continued 34 await(0); /// a05d: continued
34 } /// a05d: continued 35 } /// a05d: continued
35 a05e() { /// a05e: ok 36 a05e() { /// a05e: ok
36 await(a) {} /// a05e: continued 37 await(a) {} /// a05e: continued
37 await(0); /// a05e: continued 38 await(0); /// a05e: continued
38 } /// a05e: continued 39 } /// a05e: continued
39 a05f() async { /// a05f: compile-time error 40 a05f() async { /// a05f: compile-time error
40 var await = (a) {}; /// a05f: continued 41 var await = (a) {}; /// a05f: continued
41 await(0); /// a05f: continued 42 await(0); /// a05f: continued
42 } /// a05f: continued 43 } /// a05f: continued
44 a05g() async { /// a05g: continued
45 yield 5; /// a05g: compile-time error
46 } /// a05g: continued
47 a05h() async { /// a05h: continued
48 yield* st; /// a05h: compile-time error
49 } /// a05h: continued
43 a06a() async { await for (var o in st) {} } /// a06a: ok 50 a06a() async { await for (var o in st) {} } /// a06a: ok
44 a06b() sync* { await for (var o in st) {} } /// a06b: compile-time error 51 a06b() sync* { await for (var o in st) {} } /// a06b: compile-time error
45 a07a() sync* { yield 0; } /// a07a: ok 52 a07a() sync* { yield 0; } /// a07a: ok
46 a07b() sync { yield 0; } /// a07b: compile-time error 53 a07b() sync { yield 0; } /// a07b: compile-time error
47 a08a() sync* { yield* []; } /// a08a: ok 54 a08a() sync* { yield* []; } /// a08a: ok
48 a08b() sync { yield 0; } /// a08b: compile-time error 55 a08b() sync { yield 0; } /// a08b: compile-time error
49 a09a() async* { yield 0; } /// a09a: ok 56 a09a() async* { yield 0; } /// a09a: ok
50 a10a() async* { yield* []; } /// a10a: static type warning 57 a10a() async* { yield* []; } /// a10a: static type warning
51 58
52 get sync sync {} /// a11a: compile-time error 59 get sync sync {} /// a11a: compile-time error
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 b03a() async* {} /// b03a: ok 116 b03a() async* {} /// b03a: ok
110 b04a() sync* {} /// b04a: ok 117 b04a() sync* {} /// b04a: ok
111 b04b() sync {} /// b04b: compile-time error 118 b04b() sync {} /// b04b: compile-time error
112 b05a() async { await 0; } /// b05a: ok 119 b05a() async { await 0; } /// b05a: ok
113 b06a() async { await for (var o in st) {} } /// b06a: ok 120 b06a() async { await for (var o in st) {} } /// b06a: ok
114 b06b() async { await for ( ; ; ) {} } /// b06b: compile-time error 121 b06b() async { await for ( ; ; ) {} } /// b06b: compile-time error
115 b07a() sync* { yield 0; } /// b07a: ok 122 b07a() sync* { yield 0; } /// b07a: ok
116 b08a() sync* { yield* []; } /// b08a: ok 123 b08a() sync* { yield* []; } /// b08a: ok
117 b09a() async* { yield 0; } /// b09a: ok 124 b09a() async* { yield 0; } /// b09a: ok
118 b10a() async* { yield* []; } /// b10a: static type warning 125 b10a() async* { yield* []; } /// b10a: static type warning
126 b10b() async { yield 0; } /// b10b: compile-time error
119 127
120 get sync sync {} /// b11a: compile-time error 128 get sync sync {} /// b11a: compile-time error
121 get sync sync* {} /// b11b: ok 129 get sync sync* {} /// b11b: ok
122 get async async {} /// b11c: ok 130 get async async {} /// b11c: ok
123 get async async* {} /// b11d: ok 131 get async async* {} /// b11d: ok
124 132
125 get sync {} /// b12a: ok 133 get sync {} /// b12a: ok
126 get sync* {} /// b12b: compile-time error 134 get sync* {} /// b12b: compile-time error
127 get async {} /// b12c: ok 135 get async {} /// b12c: ok
128 get async* {} /// b12d: compile-time error 136 get async* {} /// b12d: compile-time error
(...skipping 24 matching lines...) Expand all
153 c02a() async {} c02a(); /// c02a: ok 161 c02a() async {} c02a(); /// c02a: ok
154 c03a() async* {} c03a(); /// c03a: ok 162 c03a() async* {} c03a(); /// c03a: ok
155 c04a() sync* {} c04a(); /// c04a: ok 163 c04a() sync* {} c04a(); /// c04a: ok
156 c04b() sync {} c04b(); /// c04b: compile-time er ror 164 c04b() sync {} c04b(); /// c04b: compile-time er ror
157 c05a() async { await 0; } c05a(); /// c05a: ok 165 c05a() async { await 0; } c05a(); /// c05a: ok
158 c06a() async { await for (var o in st) {} } c06a(); /// c06a: ok 166 c06a() async { await for (var o in st) {} } c06a(); /// c06a: ok
159 c07a() sync* { yield 0; } c07a(); /// c07a: ok 167 c07a() sync* { yield 0; } c07a(); /// c07a: ok
160 c08a() sync* { yield* []; } c08a(); /// c08a: ok 168 c08a() sync* { yield* []; } c08a(); /// c08a: ok
161 c09a() async* { yield 0; } c09a(); /// c09a: ok 169 c09a() async* { yield 0; } c09a(); /// c09a: ok
162 c10a() async* { yield* []; } c10a(); /// c10a: static type war ning 170 c10a() async* { yield* []; } c10a(); /// c10a: static type war ning
171 c11a() async { yield -5; } c11a(); /// c11a: compile-time er ror
172 c11b() async { yield* st; } c11b(); /// c11b: compile-time er ror
163 } 173 }
164 174
165 method2() { 175 method2() {
166 var d01a = () async => null; d01a(); /// d01a: ok 176 var d01a = () async => null; d01a(); /// d01a: ok
167 var d01b = () async* => null; d01b(); /// d01b: compile -time error 177 var d01b = () async* => null; d01b(); /// d01b: compile -time error
168 var d01c = () sync* => null; d01c(); /// d01c: compile -time error 178 var d01c = () sync* => null; d01c(); /// d01c: compile -time error
169 var d02a = () async {}; d02a(); /// d02a: ok 179 var d02a = () async {}; d02a(); /// d02a: ok
170 var d03a = () async* {}; d03a(); /// d03a: ok 180 var d03a = () async* {}; d03a(); /// d03a: ok
171 var d04a = () sync* {}; d04a(); /// d04a: ok 181 var d04a = () sync* {}; d04a(); /// d04a: ok
172 var d04b = () sync {}; d04b(); /// d04b: compile -time error 182 var d04b = () sync {}; d04b(); /// d04b: compile -time error
(...skipping 17 matching lines...) Expand all
190 c = new C.e4(); /// e4: continued 200 c = new C.e4(); /// e4: continued
191 c = new C.e5(); /// e5: continued 201 c = new C.e5(); /// e5: continued
192 c = new C.e6(); /// e6: continued 202 c = new C.e6(); /// e6: continued
193 c = new C.e7(); /// e7: continued 203 c = new C.e7(); /// e7: continued
194 c = new C.e8(); /// e8: continued 204 c = new C.e8(); /// e8: continued
195 c = new C.e9(); /// e9: continued 205 c = new C.e9(); /// e9: continued
196 206
197 a01a(); /// a01a: continued 207 a01a(); /// a01a: continued
198 a01b(); /// a01b: continued 208 a01b(); /// a01b: continued
199 a01c(); /// a01c: continued 209 a01c(); /// a01c: continued
210 a01d(); /// a01d: continued
200 a02a(); /// a02a: continued 211 a02a(); /// a02a: continued
201 a03a(); /// a03a: continued 212 a03a(); /// a03a: continued
202 a03b(); /// a03b: continued 213 a03b(); /// a03b: continued
203 a04a(); /// a04a: continued 214 a04a(); /// a04a: continued
204 a04b(); /// a04b: continued 215 a04b(); /// a04b: continued
205 a04c(); /// a04c: continued 216 a04c(); /// a04c: continued
206 a05a(); /// a05a: continued 217 a05a(); /// a05a: continued
207 a05b(); /// a05b: continued 218 a05b(); /// a05b: continued
208 a05c(); /// a05c: continued 219 a05c(); /// a05c: continued
209 a05d(); /// a05d: continued 220 a05d(); /// a05d: continued
210 a05e(); /// a05e: continued 221 a05e(); /// a05e: continued
211 a05f(); /// a05f: continued 222 a05f(); /// a05f: continued
223 a05g(); /// a05g: continued
224 a05h(); /// a05h: continued
212 a06a(); /// a06a: continued 225 a06a(); /// a06a: continued
213 a06b(); /// a06b: continued 226 a06b(); /// a06b: continued
214 a07a(); /// a07a: continued 227 a07a(); /// a07a: continued
215 a07b(); /// a07b: continued 228 a07b(); /// a07b: continued
216 a08a(); /// a08a: continued 229 a08a(); /// a08a: continued
217 a08b(); /// a08b: continued 230 a08b(); /// a08b: continued
218 a09a(); /// a09a: continued 231 a09a(); /// a09a: continued
219 a10a(); /// a10a: continued 232 a10a(); /// a10a: continued
220 a = sync; /// a11a: continued 233 a = sync; /// a11a: continued
221 a = sync; /// a11b: continued 234 a = sync; /// a11b: continued
(...skipping 30 matching lines...) Expand all
252 c.b03a(); /// b03a: continued 265 c.b03a(); /// b03a: continued
253 c.b04a(); /// b04a: continued 266 c.b04a(); /// b04a: continued
254 c.b04b(); /// b04b: continued 267 c.b04b(); /// b04b: continued
255 c.b05a(); /// b05a: continued 268 c.b05a(); /// b05a: continued
256 c.b06a(); /// b06a: continued 269 c.b06a(); /// b06a: continued
257 c.b06b(); /// b06b: continued 270 c.b06b(); /// b06b: continued
258 c.b07a(); /// b07a: continued 271 c.b07a(); /// b07a: continued
259 c.b08a(); /// b08a: continued 272 c.b08a(); /// b08a: continued
260 c.b09a(); /// b09a: continued 273 c.b09a(); /// b09a: continued
261 c.b10a(); /// b10a: continued 274 c.b10a(); /// b10a: continued
275 c.b10b(); /// b10b: continued
262 a = c.sync; /// b11a: continued 276 a = c.sync; /// b11a: continued
263 a = c.sync; /// b11b: continued 277 a = c.sync; /// b11b: continued
264 a = c.async; /// b11c: continued 278 a = c.async; /// b11c: continued
265 a = c.async; /// b11d: continued 279 a = c.async; /// b11d: continued
266 a = c.sync; /// b12a: continued 280 a = c.sync; /// b12a: continued
267 a = c.sync; /// b12b: continued 281 a = c.sync; /// b12b: continued
268 a = c.async; /// b12c: continued 282 a = c.async; /// b12c: continued
269 a = c.async; /// b12d: continued 283 a = c.async; /// b12d: continued
270 a = c.b12e; /// b12e: continued 284 a = c.b12e; /// b12e: continued
271 a = c.b12f; /// b12f: continued 285 a = c.b12f; /// b12f: continued
272 a = c.b12g; /// b12g: continued 286 a = c.b12g; /// b12g: continued
273 a = c.sync; /// b13a: continued 287 a = c.sync; /// b13a: continued
274 a = c.sync; /// b13b: continued 288 a = c.sync; /// b13b: continued
275 a = c.async; /// b13c: continued 289 a = c.async; /// b13c: continued
276 a = c.async; /// b13d: continued 290 a = c.async; /// b13d: continued
277 a = c.sync; /// b14a: continued 291 a = c.sync; /// b14a: continued
278 a = c.sync; /// b14b: continued 292 a = c.sync; /// b14b: continued
279 a = c.async; /// b14c: continued 293 a = c.async; /// b14c: continued
280 a = c.async; /// b14d: continued 294 a = c.async; /// b14d: continued
281 c.sync(); /// b15a: continued 295 c.sync(); /// b15a: continued
282 c.sync(); /// b15b: continued 296 c.sync(); /// b15b: continued
283 c.async(); /// b15c: continued 297 c.async(); /// b15c: continued
284 c.async(); /// b15d: continued 298 c.async(); /// b15d: continued
285 299
286 method1(); 300 method1();
287 method2(); 301 method2();
288 } 302 }
OLDNEW
« no previous file with comments | « runtime/vm/parser.cc ('k') | tests/language/language_dart2js.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698