blob: f43df2d249f28cd8ba9e1940b1f35090d5bbec6e [file] [log] [blame]
// 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.
/// @assertion The effect of a type alias of the form typedef id = T; declared in
/// a library L is to introduce the name id into the scope of L, bound to the
/// type T .
/// @description Checks that type alias of the form typedef id = T; introduces
/// the name id into the scope of L, bound to the type T .
/// @author sgrekhov@unipro.ru
// SharedOptions=--enable-experiment=nonfunction-type-aliases
import "../../../Utils/expect.dart";
import "scope.lib.dart";
class X {
static void s() {
AAlias aa = new A();
Expect.isTrue(aa is A);
Expect.isTrue(aa is AAlias);
CAlias<String> ca = new C<String>();
Expect.isTrue(ca is C<String>);
Expect.isTrue(ca is CAlias<String>);
}
void m() {
AAlias aa = new A();
Expect.isTrue(aa is A);
Expect.isTrue(aa is AAlias);
CAlias<String> ca = new C<String>();
Expect.isTrue(ca is C<String>);
Expect.isTrue(ca is CAlias<String>);
}
}
test() {
AAlias aa = new A();
Expect.isTrue(aa is A);
Expect.isTrue(aa is AAlias);
CAlias<String> ca = new C<String>();
Expect.isTrue(ca is C<String>);
Expect.isTrue(ca is CAlias<String>);
}
main() {
AAlias aa = new A();
Expect.isTrue(aa is A);
Expect.isTrue(aa is AAlias);
CAlias<String> ca = new C<String>();
Expect.isTrue(ca is C<String>);
Expect.isTrue(ca is CAlias<String>);
test();
X.s();
new X().m();
}