blob: 8465f8a3d34f7bdf49ffe35160dc8a4ac7d592f3 [file] [log] [blame]
Future<bool> returnsFuture() => new Future.value(true);
// Notice the missing async marker.
void foo() {
await returnsFuture();
if (await returnsFuture()) {}
else if (!await returnsFuture()) {}
print(await returnsFuture());
xor(await returnsFuture(), await returnsFuture(), await returnsFuture());
await returnsFuture() ^ await returnsFuture();
print(await returnsFuture() ^ await returnsFuture());
await returnsFuture() + await returnsFuture();
print(await returnsFuture() + await returnsFuture());
await returnsFuture() - await returnsFuture();
print(await returnsFuture() - await returnsFuture());
!await returnsFuture() ^ !await returnsFuture();
print(!await returnsFuture() ^ !await returnsFuture());
var f = returnsFuture();
await f; // valid variable declaration.
if (await f) {}
else if (!await f) {}
print(await f);
xor(await f, await f, await f);
await f ^ await f;
print(await f ^ await f);
await f + await f;
print(await f + await f);
await f - await f;
print(await f - await f);
!await f ^ !await f;
print(!await f ^ !await f);
// Valid:
await x; // Valid.
await y, z; // Valid.
await x2 = await; // Valid.
await y2 = await, z2 = await; // Valid.
await foo(int bar) { // Valid.
return new await(); // Valid.
} // Valid.
await bar(await baz, await baz2, await baz3) { // Valid.
return baz; // Valid.
} // Valid.
}
bool xor(bool a, bool b, bool c) {
return b ^ b ^ c;
}
class await {}