| Index: tests/language/src/FunctionTypeAlias4Test.dart
|
| ===================================================================
|
| --- tests/language/src/FunctionTypeAlias4Test.dart (revision 0)
|
| +++ tests/language/src/FunctionTypeAlias4Test.dart (revision 0)
|
| @@ -0,0 +1,36 @@
|
| +// Copyright (c) 2011, 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 test for function type alias with a type parameter as result type.
|
| +
|
| +typedef bool F<bool>(bool a); // 'bool' is not the boolean type.
|
| +
|
| +bool bar(bool a) {
|
| +}
|
| +
|
| +int baz(int a) {
|
| +}
|
| +
|
| +class A<T> {
|
| + T foo(T a) {
|
| + }
|
| +}
|
| +
|
| +main() {
|
| + Expect.isTrue(bar is F);
|
| + Expect.isTrue(baz is F);
|
| + Expect.isTrue(bar is F<bool>);
|
| + Expect.isTrue(baz is F<int>);
|
| + Expect.isTrue(bar is !F<int>);
|
| + Expect.isTrue(baz is !F<bool>);
|
| +
|
| + var b = new A<bool>();
|
| + var i = new A<int>();
|
| + Expect.isTrue(b.foo is F);
|
| + Expect.isTrue(i.foo is F);
|
| + Expect.isTrue(b.foo is F<bool>);
|
| + Expect.isTrue(i.foo is F<int>);
|
| + Expect.isTrue(b.foo is !F<int>);
|
| + Expect.isTrue(i.foo is !F<bool>);
|
| +}
|
|
|