| // Copyright (c) 2019, 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. |
| |
| /// @author iarkh@unipro.ru |
| |
| // @dart=2.6 |
| |
| library type_reification_legacy_lib; |
| |
| class A {} |
| class A1 extends A {} |
| class B<T> {} |
| |
| typedef F1 = int Function(A1 a); |
| typedef F2<X, Y, Z> = X Function<YY extends Y>(Z z); |
| typedef F3<T> = void Function(T t); |
| typedef F4<T> = T Function(); |
| |
| int test1(A1) => 0; |
| int test2(A) => 1; |
| void test3(A1) {} |
| int test4<B1 extends B>(A1 a) => 2; |
| int test5<T>(A a) => 3; |
| dynamic test6<T>(a) => ""; |
| int test7() => 1; |