dart-sdk/tests/language/operator/smi_type_test.dart
Robert Nystrom 24b33dae89 Migrate language_2/operator to NNBD.
Change-Id: I90bc5ff6aae8998deb3cc28b1134c60058706f01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150185
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-06-11 01:44:45 +00:00

37 lines
764 B
Dart

// Copyright (c) 2013, 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.
// VMOptions=--optimization-counter-threshold=8
import "package:expect/expect.dart";
main() {
// Make instance-of polymorphic.
isNum([]);
isNumRaw([]);
isNotNum([]);
isNotInt([]);
for (int i = 0; i < 20; i++) {
Expect.isTrue(isNum(i));
Expect.isTrue(isNumRaw(i));
Expect.isFalse(isNotNum(i));
Expect.isFalse(isNotInt(i));
}
}
isNum(a) {
return a is Comparable<num>;
}
isNumRaw(a) {
return a is Comparable;
}
isNotNum(a) {
return a is Comparable<String>;
}
isNotInt(a) {
return a is Comparable<double>;
}