Files
sdk/tests/compiler/dart2js/inference/data/yield.dart
T
Johnni Winther 9e1532121e Handle await, await for, and yield in inferrer.
Change-Id: Idd3c86a095493ca37997388f4e531d7cb5e0a772
Reviewed-on: https://dart-review.googlesource.com/11900
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-10-06 19:59:24 +00:00

62 lines
1.8 KiB
Dart

// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
/*element: main:[null]*/
main() {
yieldZero();
yieldList();
yieldStarList();
yieldMany();
yieldIntAndString();
}
////////////////////////////////////////////////////////////////////////////////
// Yield a single integer.
////////////////////////////////////////////////////////////////////////////////
/*element: yieldZero:[exact=_SyncStarIterable]*/
yieldZero() sync* {
yield 0;
}
////////////////////////////////////////////////////////////////////////////////
// Yield a list of integers.
////////////////////////////////////////////////////////////////////////////////
/*element: yieldList:[exact=_SyncStarIterable]*/
yieldList() sync* {
yield [0, 1, 2, 3];
}
////////////////////////////////////////////////////////////////////////////////
// Yield star of a list of integers.
////////////////////////////////////////////////////////////////////////////////
/*element: yieldStarList:[exact=_SyncStarIterable]*/
yieldStarList() sync* {
yield* [0, 1, 2, 3];
}
////////////////////////////////////////////////////////////////////////////////
// Yield multiple integers.
////////////////////////////////////////////////////////////////////////////////
/*element: yieldMany:[exact=_SyncStarIterable]*/
yieldMany() sync* {
yield 0;
yield 1;
yield 2;
yield 3;
}
////////////////////////////////////////////////////////////////////////////////
// Yield an integer and a string.
////////////////////////////////////////////////////////////////////////////////
/*element: yieldIntAndString:[exact=_SyncStarIterable]*/
yieldIntAndString() sync* {
yield 0;
yield '';
}