dart-sdk/tests/language/return/skip_expression_test.dart
Robert Nystrom eb098a5f9e Migrate language_2/return to NNBD.
Change-Id: I3666b69e8371330e2e615aef9fcdecbb1d0753b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150471
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-06-09 16:31:44 +00:00

35 lines
1.1 KiB
Dart

// Copyright (c) 2012, 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.
import "package:expect/expect.dart";
class OneArg<A> {
OneArg<A> get foo => new OneArg<A>();
OneArg<A> get bar {
return new OneArg<A>();
}
}
class TwoArgs<A, B> {
TwoArgs<A, B> get foo => new TwoArgs<A, B>();
TwoArgs<A, B> get bar {
return new TwoArgs<A, B>();
}
}
void main() {
Expect.isTrue(new OneArg<String>().foo is OneArg);
Expect.isTrue(new OneArg<String>().bar is OneArg);
Expect.isTrue(new TwoArgs<String, int>().foo is TwoArgs);
Expect.isTrue(new TwoArgs<String, int>().bar is TwoArgs);
// TODO(karlklose): Please remove the return when dart2js can handle
// the type tests after it.
return;
Expect.isTrue(new OneArg<String>().foo is OneArg<String>);
Expect.isTrue(new OneArg<String>().bar is OneArg<String>);
Expect.isTrue(new TwoArgs<String, int>().foo is TwoArgs<String, int>);
Expect.isTrue(new TwoArgs<String, int>().bar is TwoArgs<String, int>);
}