| Index: pkg/expect/lib/expect.dart
|
| diff --git a/pkg/expect/lib/expect.dart b/pkg/expect/lib/expect.dart
|
| index 8e312063943e96fc9f47f741e98234673b6e60c4..d25e3e065517a2274164bcc56b27955ce62a5874 100644
|
| --- a/pkg/expect/lib/expect.dart
|
| +++ b/pkg/expect/lib/expect.dart
|
| @@ -503,3 +503,28 @@ class TrustTypeAnnotations {
|
| class AssumeDynamic {
|
| const AssumeDynamic();
|
| }
|
| +
|
| +/// Is true iff type assertions are enabled.
|
| +final bool typeAssertionsEnabled = (() {
|
| + try {
|
| + var i = 42;
|
| + String s = i;
|
| + } on TypeError catch (e) {
|
| + return true;
|
| + }
|
| + return false;
|
| +})();
|
| +
|
| +/// Is true iff `assert` statements are enabled.
|
| +final bool assertStatementsEnabled = (() {
|
| + try {
|
| + assert(false);
|
| + } on AssertionError catch (e) {
|
| + return true;
|
| + }
|
| + return false;
|
| +})();
|
| +
|
| +/// Is true iff checked mode is enabled.
|
| +final bool checkedModeEnabled =
|
| + typeAssertionsEnabled && assertStatementsEnabled;
|
|
|