| // 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. |
| |
| // @dart = 2.9 |
| |
| // The identifiers listed below are mentioned in the grammar, but none of |
| // them is a reserved word or a built-in identifier. Such an identifier can |
| // be used just like all other identifiers, with a few exceptions. Here are |
| // said 'known' identifiers: |
| // |
| // `async`, `await`, `hide`, `of`, `on`, `show`, `sync`, `yield` |
| // |
| // This test contains various declarations of entities whose name is one of |
| // these known identifiers. |
| |
| // Top level. |
| |
| var async; //# 01: ok |
| var await; //# 01: continued |
| var hide; //# 01: continued |
| var of; //# 01: continued |
| var on; //# 01: continued |
| var show; //# 01: continued |
| var sync; //# 01: continued |
| var yield; //# 01: continued |
| |
| int async; //# 02: ok |
| int await; //# 02: continued |
| int hide; //# 02: continued |
| int of; //# 02: continued |
| int on; //# 02: continued |
| int show; //# 02: continued |
| int sync; //# 02: continued |
| int yield; //# 02: continued |
| |
| final String async = ""; //# 03: ok |
| final String await = ""; //# 03: continued |
| final String hide = ""; //# 03: continued |
| final String of = ""; //# 03: continued |
| final String on = ""; //# 03: continued |
| final String show = ""; //# 03: continued |
| final String sync = ""; //# 03: continued |
| final String yield = ""; //# 03: continued |
| |
| const async = null; //# 04: ok |
| const await = null; //# 04: continued |
| const hide = null; //# 04: continued |
| const of = null; //# 04: continued |
| const on = null; //# 04: continued |
| const show = null; //# 04: continued |
| const sync = null; //# 04: continued |
| const yield = null; //# 04: continued |
| |
| void async() {} //# 05: ok |
| void await() {} //# 05: continued |
| void hide() {} //# 05: continued |
| void of() {} //# 05: continued |
| void on() {} //# 05: continued |
| void show() {} //# 05: continued |
| void sync() {} //# 05: continued |
| void yield() {} //# 05: continued |
| |
| void f1(async, await, hide, of, on, show, sync, yield) {} |
| void f2([async, await, hide, of, on, show, sync, yield]) {} |
| void f3({async, await, hide, of, on, show, sync, yield}) {} |
| |
| void f4( |
| int async, |
| int await, |
| int hide, |
| int of, |
| int on, |
| int show, |
| int sync, |
| int yield, |
| ) {} |
| |
| void f5([ |
| int async, |
| int await, |
| int hide, |
| int of, |
| int on, |
| int show, |
| int sync, |
| int yield, |
| ]) {} |
| |
| void f6({ |
| int async, |
| int await, |
| int hide, |
| int of, |
| int on, |
| int show, |
| int sync, |
| int yield, |
| }) {} |
| |
| class A { |
| var async; //# 01: continued |
| var await; //# 01: continued |
| var hide; //# 01: continued |
| var of; //# 01: continued |
| var on; //# 01: continued |
| var show; //# 01: continued |
| var sync; //# 01: continued |
| var yield; //# 01: continued |
| |
| num async; //# 02: continued |
| num await; //# 02: continued |
| num hide; //# 02: continued |
| num of; //# 02: continued |
| num on; //# 02: continued |
| num show; //# 02: continued |
| num sync; //# 02: continued |
| num yield; //# 02: continued |
| |
| final String async = ""; //# 03: continued |
| final String await = ""; //# 03: continued |
| final String hide = ""; //# 03: continued |
| final String of = ""; //# 03: continued |
| final String on = ""; //# 03: continued |
| final String show = ""; //# 03: continued |
| final String sync = ""; //# 03: continued |
| final String yield = ""; //# 03: continued |
| |
| String get async => ""; //# 04: continued |
| String get await => ""; //# 04: continued |
| String get hide => ""; //# 04: continued |
| String get of => ""; //# 04: continued |
| String get on => ""; //# 04: continued |
| String get show => ""; //# 04: continued |
| String get sync => ""; //# 04: continued |
| String get yield => ""; //# 04: continued |
| |
| void async() {} //# 05: ok |
| void await() {} //# 05: continued |
| void hide() {} //# 05: continued |
| void of() {} //# 05: continued |
| void on() {} //# 05: continued |
| void show() {} //# 05: continued |
| void sync() {} //# 05: continued |
| void yield() {} //# 05: continued |
| |
| A(); |
| |
| A.c1( //# 01: continued |
| this.async, //# 01: continued |
| this.await, //# 01: continued |
| this.hide, //# 01: continued |
| this.of, //# 01: continued |
| this.on, //# 01: continued |
| this.show, //# 01: continued |
| this.sync, //# 01: continued |
| this.yield, //# 01: continued |
| ) {} //# 01: continued |
| |
| A.c2([ //# 01: continued |
| this.async, //# 01: continued |
| this.await, //# 01: continued |
| this.hide, //# 01: continued |
| this.of, //# 01: continued |
| this.on, //# 01: continued |
| this.show, //# 01: continued |
| this.sync, //# 01: continued |
| this.yield, //# 01: continued |
| ]) {} //# 01: continued |
| |
| A.c3({ //# 01: continued |
| this.async, //# 01: continued |
| this.await, //# 01: continued |
| this.hide, //# 01: continued |
| this.of, //# 01: continued |
| this.on, //# 01: continued |
| this.show, //# 01: continued |
| this.sync, //# 01: continued |
| this.yield, //# 01: continued |
| }) {} //# 01: continued |
| |
| A.c4( //# 02: continued |
| int this.async, //# 02: continued |
| int this.await, //# 02: continued |
| int this.hide, //# 02: continued |
| int this.of, //# 02: continued |
| int this.on, //# 02: continued |
| int this.show, //# 02: continued |
| int this.sync, //# 02: continued |
| int this.yield, //# 02: continued |
| ) {} //# 02: continued |
| |
| A.c5([ //# 02: continued |
| int this.async, //# 02: continued |
| int this.await, //# 02: continued |
| int this.hide, //# 02: continued |
| int this.of, //# 02: continued |
| int this.on, //# 02: continued |
| int this.show, //# 02: continued |
| int this.sync, //# 02: continued |
| int this.yield, //# 02: continued |
| ]) {} //# 02: continued |
| |
| A.c6({ //# 02: continued |
| int this.async, //# 02: continued |
| int this.await, //# 02: continued |
| int this.hide, //# 02: continued |
| int this.of, //# 02: continued |
| int this.on, //# 02: continued |
| int this.show, //# 02: continued |
| int this.sync, //# 02: continued |
| int this.yield, //# 02: continued |
| }) {} //# 02: continued |
| |
| void method1( |
| covariant int async, |
| covariant int await, |
| covariant int hide, |
| covariant int of, |
| covariant int on, |
| covariant int show, |
| covariant int sync, |
| covariant int yield, |
| ) {} |
| |
| void method2([ |
| covariant int async, |
| covariant int await, |
| covariant int hide, |
| covariant int of, |
| covariant int on, |
| covariant int show, |
| covariant int sync, |
| covariant int yield, |
| ]) {} |
| |
| void method3({ |
| covariant int async, |
| covariant int await, |
| covariant int hide, |
| covariant int of, |
| covariant int on, |
| covariant int show, |
| covariant int sync, |
| covariant int yield, |
| }) {} |
| } |
| |
| class B { |
| static var async; //# 01: continued |
| static var await; //# 01: continued |
| static var hide; //# 01: continued |
| static var of; //# 01: continued |
| static var on; //# 01: continued |
| static var show; //# 01: continued |
| static var sync; //# 01: continued |
| static var yield; //# 01: continued |
| |
| static num async; //# 02: continued |
| static num await; //# 02: continued |
| static num hide; //# 02: continued |
| static num of; //# 02: continued |
| static num on; //# 02: continued |
| static num show; //# 02: continued |
| static num sync; //# 02: continued |
| static num yield; //# 02: continued |
| |
| static final String async = ""; //# 03: continued |
| static final String await = ""; //# 03: continued |
| static final String hide = ""; //# 03: continued |
| static final String of = ""; //# 03: continued |
| static final String on = ""; //# 03: continued |
| static final String show = ""; //# 03: continued |
| static final String sync = ""; //# 03: continued |
| static final String yield = ""; //# 03: continued |
| |
| static const async = null; //# 04: continued |
| static const await = null; //# 04: continued |
| static const hide = null; //# 04: continued |
| static const of = null; //# 04: continued |
| static const on = null; //# 04: continued |
| static const show = null; //# 04: continued |
| static const sync = null; //# 04: continued |
| static const yield = null; //# 04: continued |
| |
| static get async => null; //# 05: continued |
| static get await => null; //# 05: continued |
| static get hide => null; //# 05: continued |
| static get of => null; //# 05: continued |
| static get on => null; //# 05: continued |
| static get show => null; //# 05: continued |
| static get sync => null; //# 05: continued |
| static get yield => null; //# 05: continued |
| } |
| |
| main() { |
| /* //# none: ok |
| |
| // Except none: Use a top-level declaration. |
| var top_async = async; |
| var top_await = await; |
| var top_hide = hide; |
| var top_of = of; |
| var top_on = on; |
| var top_show = show; |
| var top_sync = sync; |
| var top_yield = yield; |
| |
| // Except none: Use an instance member of A. |
| A a = new A(); |
| var instance_async = a.async; |
| var instance_await = a.await; |
| var instance_hide = a.hide; |
| var instance_of = a.of; |
| var instance_on = a.on; |
| var instance_show = a.show; |
| var instance_sync = a.sync; |
| var instance_yield = a.yield; |
| |
| // Except none: Use a static member of B. |
| |
| var static_async = B.async; |
| var static_await = B.await; |
| var static_hide = B.hide; |
| var static_of = B.of; |
| var static_on = B.on; |
| var static_show = B.show; |
| var static_sync = B.sync; |
| var static_yield = B.yield; |
| |
| */ //# none: continued |
| |
| var a1 = new A.c1(1, 1, 1, 1, 1, 1, 1, 1); //# 01: continued |
| var a2 = new A.c2(); //# 01: continued |
| var a3 = new A.c3( //# 01: continued |
| async: 1, //# 01: continued |
| await: 1, //# 01: continued |
| hide: 1, //# 01: continued |
| of: 1, //# 01: continued |
| on: 1, //# 01: continued |
| show: 1, //# 01: continued |
| sync: 1, //# 01: continued |
| yield: 1, //# 01: continued |
| ); //# 01: continued |
| |
| var a4 = new A.c4(1, 1, 1, 1, 1, 1, 1, 1); //# 02: continued |
| var a5 = new A.c5(); //# 02: continued |
| var a6 = new A.c6( //# 02: continued |
| async: 1, //# 02: continued |
| await: 1, //# 02: continued |
| hide: 1, //# 02: continued |
| of: 1, //# 02: continued |
| on: 1, //# 02: continued |
| show: 1, //# 02: continued |
| sync: 1, //# 02: continued |
| yield: 1, //# 02: continued |
| ); //# 02: continued |
| |
| var aa = new A(); |
| aa.method1(1, 1, 1, 1, 1, 1, 1, 1); |
| aa.method2(); |
| aa.method3( |
| async: 1, |
| await: 1, |
| hide: 1, |
| of: 1, |
| on: 1, |
| show: 1, |
| sync: 1, |
| yield: 1, |
| ); |
| } |