[3.0 alpha][core] Delete NullThrownError
TESTED=Ran CQ dryrun and approved failures for co19 tests that will be updated soon.
Change-Id: Ic0dc5fc084b1d0f3fce80dd88062f879abd7b556
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275840
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
diff --git a/pkg/front_end/testcases/dart2js/issue49198.dart b/pkg/front_end/testcases/dart2js/issue49198.dart
index 62e8c1a..9fe0c8c 100644
--- a/pkg/front_end/testcases/dart2js/issue49198.dart
+++ b/pkg/front_end/testcases/dart2js/issue49198.dart
@@ -7,17 +7,7 @@
main() {
try {
throw null as dynamic;
- } on NullThrownError catch (e) {
- if (inSoundMode) {
- throw 'Expected TypeError';
- } else {
- print('${e.runtimeType}:$e');
- }
} on TypeError catch (e) {
- if (inSoundMode) {
- print('${e.runtimeType}:$e');
- } else {
- throw 'Expected NullThrowError';
- }
+ print('${e.runtimeType}:$e');
}
}
diff --git a/pkg/front_end/testcases/dart2js/issue49198.dart.strong.expect b/pkg/front_end/testcases/dart2js/issue49198.dart.strong.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/dart2js/issue49198.dart.strong.expect
+++ b/pkg/front_end/testcases/dart2js/issue49198.dart.strong.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/dart2js/issue49198.dart.strong.transformed.expect b/pkg/front_end/testcases/dart2js/issue49198.dart.strong.transformed.expect
index e58b942..531702e 100644
--- a/pkg/front_end/testcases/dart2js/issue49198.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/dart2js/issue49198.dart.strong.transformed.expect
@@ -7,25 +7,12 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
Extra constant evaluation status:
Evaluated: AsExpression @ org-dartlang-testcase:///issue49198.dart:9:16 -> NullConstant(null)
-Extra constant evaluation: evaluated: 20, effectively constant: 1
+Extra constant evaluation: evaluated: 11, effectively constant: 1
diff --git a/pkg/front_end/testcases/dart2js/issue49198.dart.weak.expect b/pkg/front_end/testcases/dart2js/issue49198.dart.weak.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/dart2js/issue49198.dart.weak.expect
+++ b/pkg/front_end/testcases/dart2js/issue49198.dart.weak.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/dart2js/issue49198.dart.weak.modular.expect b/pkg/front_end/testcases/dart2js/issue49198.dart.weak.modular.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/dart2js/issue49198.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/dart2js/issue49198.dart.weak.modular.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/dart2js/issue49198.dart.weak.transformed.expect b/pkg/front_end/testcases/dart2js/issue49198.dart.weak.transformed.expect
index 0147940..326e8bb 100644
--- a/pkg/front_end/testcases/dart2js/issue49198.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/dart2js/issue49198.dart.weak.transformed.expect
@@ -7,25 +7,12 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
Extra constant evaluation status:
Evaluated: AsExpression @ org-dartlang-testcase:///issue49198.dart:9:16 -> NullConstant(null)
-Extra constant evaluation: evaluated: 19, effectively constant: 1
+Extra constant evaluation: evaluated: 10, effectively constant: 1
diff --git a/pkg/front_end/testcases/dartdevc/issue49198.dart b/pkg/front_end/testcases/dartdevc/issue49198.dart
index 62e8c1a..9fe0c8c 100644
--- a/pkg/front_end/testcases/dartdevc/issue49198.dart
+++ b/pkg/front_end/testcases/dartdevc/issue49198.dart
@@ -7,17 +7,7 @@
main() {
try {
throw null as dynamic;
- } on NullThrownError catch (e) {
- if (inSoundMode) {
- throw 'Expected TypeError';
- } else {
- print('${e.runtimeType}:$e');
- }
} on TypeError catch (e) {
- if (inSoundMode) {
- print('${e.runtimeType}:$e');
- } else {
- throw 'Expected NullThrowError';
- }
+ print('${e.runtimeType}:$e');
}
}
diff --git a/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.expect b/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.expect
+++ b/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.transformed.expect b/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.transformed.expect
index e58b942..531702e 100644
--- a/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/dartdevc/issue49198.dart.strong.transformed.expect
@@ -7,25 +7,12 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
Extra constant evaluation status:
Evaluated: AsExpression @ org-dartlang-testcase:///issue49198.dart:9:16 -> NullConstant(null)
-Extra constant evaluation: evaluated: 20, effectively constant: 1
+Extra constant evaluation: evaluated: 11, effectively constant: 1
diff --git a/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.expect b/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.expect
+++ b/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.modular.expect b/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.modular.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.modular.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.transformed.expect b/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.transformed.expect
index 0147940..326e8bb 100644
--- a/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/dartdevc/issue49198.dart.weak.transformed.expect
@@ -7,25 +7,12 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
Extra constant evaluation status:
Evaluated: AsExpression @ org-dartlang-testcase:///issue49198.dart:9:16 -> NullConstant(null)
-Extra constant evaluation: evaluated: 19, effectively constant: 1
+Extra constant evaluation: evaluated: 10, effectively constant: 1
diff --git a/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.expect b/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.expect
index 208b7f2..67410f4 100644
--- a/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.expect
+++ b/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.expect
@@ -104,7 +104,6 @@
core::Error,
core::AssertionError,
core::TypeError,
- core::NullThrownError,
core::ArgumentError,
core::RangeError,
core::IndexError,
diff --git a/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.outline.expect b/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.outline.expect
index 59daf12..ed19572 100644
--- a/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.outline.expect
+++ b/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.outline.expect
@@ -39,7 +39,6 @@
core::Error,
core::AssertionError,
core::TypeError,
- core::NullThrownError,
core::ArgumentError,
core::RangeError,
core::IndexError,
diff --git a/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.transformed.expect b/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.transformed.expect
index d211e5b..28e4d78 100644
--- a/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/general/error_export_from_dill/main.dart.weak.transformed.expect
@@ -100,7 +100,6 @@
core::Error,
core::AssertionError,
core::TypeError,
- core::NullThrownError,
core::ArgumentError,
core::RangeError,
core::IndexError,
diff --git a/pkg/front_end/testcases/incremental/export_core.yaml.world.2.expect b/pkg/front_end/testcases/incremental/export_core.yaml.world.2.expect
index 97e1449..b9a075c 100644
--- a/pkg/front_end/testcases/incremental/export_core.yaml.world.2.expect
+++ b/pkg/front_end/testcases/incremental/export_core.yaml.world.2.expect
@@ -39,7 +39,6 @@
core::Match,
core::NoSuchMethodError,
core::Null,
- core::NullThrownError,
core::Object,
core::OutOfMemoryError,
core::Pattern,
diff --git a/pkg/front_end/testcases/incremental/export_core.yaml.world.3.expect b/pkg/front_end/testcases/incremental/export_core.yaml.world.3.expect
index 78f1c0a..79de28b 100644
--- a/pkg/front_end/testcases/incremental/export_core.yaml.world.3.expect
+++ b/pkg/front_end/testcases/incremental/export_core.yaml.world.3.expect
@@ -39,7 +39,6 @@
core::Match,
core::NoSuchMethodError,
core::Null,
- core::NullThrownError,
core::Object,
core::OutOfMemoryError,
core::Pattern,
diff --git a/pkg/front_end/testcases/nnbd/issue49198.dart b/pkg/front_end/testcases/nnbd/issue49198.dart
index 62e8c1a..9fe0c8c 100644
--- a/pkg/front_end/testcases/nnbd/issue49198.dart
+++ b/pkg/front_end/testcases/nnbd/issue49198.dart
@@ -7,17 +7,7 @@
main() {
try {
throw null as dynamic;
- } on NullThrownError catch (e) {
- if (inSoundMode) {
- throw 'Expected TypeError';
- } else {
- print('${e.runtimeType}:$e');
- }
} on TypeError catch (e) {
- if (inSoundMode) {
- print('${e.runtimeType}:$e');
- } else {
- throw 'Expected NullThrowError';
- }
+ print('${e.runtimeType}:$e');
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue49198.dart.strong.expect b/pkg/front_end/testcases/nnbd/issue49198.dart.strong.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/nnbd/issue49198.dart.strong.expect
+++ b/pkg/front_end/testcases/nnbd/issue49198.dart.strong.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue49198.dart.strong.transformed.expect b/pkg/front_end/testcases/nnbd/issue49198.dart.strong.transformed.expect
index 2a97213..32b663c 100644
--- a/pkg/front_end/testcases/nnbd/issue49198.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue49198.dart.strong.transformed.expect
@@ -7,21 +7,8 @@
try {
throw let dynamic #t1 = null as{ForNonNullableByDefault} dynamic in #t1 == null ?{core::Object} #t1 as{TypeError,ForNonNullableByDefault} core::Object : #t1{core::Object};
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
@@ -31,4 +18,4 @@
Evaluated: EqualsNull @ org-dartlang-testcase:///issue49198.dart:9:5 -> BoolConstant(true)
Evaluated: VariableGet @ org-dartlang-testcase:///issue49198.dart:9:16 -> NullConstant(null)
Evaluated: VariableGet @ org-dartlang-testcase:///issue49198.dart:9:5 -> NullConstant(null)
-Extra constant evaluation: evaluated: 25, effectively constant: 4
+Extra constant evaluation: evaluated: 16, effectively constant: 4
diff --git a/pkg/front_end/testcases/nnbd/issue49198.dart.weak.expect b/pkg/front_end/testcases/nnbd/issue49198.dart.weak.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/nnbd/issue49198.dart.weak.expect
+++ b/pkg/front_end/testcases/nnbd/issue49198.dart.weak.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue49198.dart.weak.modular.expect b/pkg/front_end/testcases/nnbd/issue49198.dart.weak.modular.expect
index 46b21df..6bc370a 100644
--- a/pkg/front_end/testcases/nnbd/issue49198.dart.weak.modular.expect
+++ b/pkg/front_end/testcases/nnbd/issue49198.dart.weak.modular.expect
@@ -7,20 +7,7 @@
try {
throw (null as{ForNonNullableByDefault} dynamic) as{TypeError,ForNonNullableByDefault} core::Object;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
diff --git a/pkg/front_end/testcases/nnbd/issue49198.dart.weak.transformed.expect b/pkg/front_end/testcases/nnbd/issue49198.dart.weak.transformed.expect
index 2de0fb8..98268a1 100644
--- a/pkg/front_end/testcases/nnbd/issue49198.dart.weak.transformed.expect
+++ b/pkg/front_end/testcases/nnbd/issue49198.dart.weak.transformed.expect
@@ -7,25 +7,12 @@
try {
throw null as{ForNonNullableByDefault} dynamic;
}
- on core::NullThrownError catch(final core::NullThrownError e) {
- if(self::inSoundMode) {
- throw "Expected TypeError";
- }
- else {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- }
on core::TypeError catch(final core::TypeError e) {
- if(self::inSoundMode) {
- core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
- }
- else {
- throw "Expected NullThrowError";
- }
+ core::print("${e.{core::Object::runtimeType}{core::Type}}:${e}");
}
}
Extra constant evaluation status:
Evaluated: AsExpression @ org-dartlang-testcase:///issue49198.dart:9:16 -> NullConstant(null)
-Extra constant evaluation: evaluated: 19, effectively constant: 1
+Extra constant evaluation: evaluated: 10, effectively constant: 1
diff --git a/runtime/tools/dartfuzz/dartfuzz.dart b/runtime/tools/dartfuzz/dartfuzz.dart
index d9e0a11..7194d5b 100644
--- a/runtime/tools/dartfuzz/dartfuzz.dart
+++ b/runtime/tools/dartfuzz/dartfuzz.dart
@@ -14,7 +14,7 @@
// Version of DartFuzz. Increase this each time changes are made
// to preserve the property that a given version of DartFuzz yields
// the same fuzzed program for a deterministic random seed.
-const String version = '1.96';
+const String version = '1.97';
// Restriction on statements and expressions.
const int stmtDepth = 1;
diff --git a/runtime/tools/dartfuzz/dartfuzz_api_table.dart b/runtime/tools/dartfuzz/dartfuzz_api_table.dart
index 2c9772b..9079d61 100644
--- a/runtime/tools/dartfuzz/dartfuzz_api_table.dart
+++ b/runtime/tools/dartfuzz/dartfuzz_api_table.dart
@@ -2027,7 +2027,6 @@
[DartType.INTEGERDIVISIONBYZEROEXCEPTION, DartType.VOID], true),
DartLib('toString', [DartType.MAPENTRY_INT_STRING, DartType.VOID], true),
DartLib('toString', [DartType.NULL, DartType.VOID], true),
- DartLib('toString', [DartType.NULLTHROWNERROR, DartType.VOID], true),
DartLib('toString', [DartType.STACKOVERFLOWERROR, DartType.VOID], true),
DartLib('toString', [DartType.STATEERROR, DartType.VOID], true),
DartLib('toString', [DartType.STRINGBUFFER, DartType.VOID], true),
@@ -2096,7 +2095,6 @@
[DartType.INTEGERDIVISIONBYZEROEXCEPTION, DartType.VOID], true),
DartLib('toString', [DartType.MAPENTRY_INT_STRING, DartType.VOID], true),
DartLib('toString', [DartType.NULL, DartType.VOID], true),
- DartLib('toString', [DartType.NULLTHROWNERROR, DartType.VOID], true),
DartLib('toString', [DartType.STACKOVERFLOWERROR, DartType.VOID], true),
DartLib('toString', [DartType.STATEERROR, DartType.VOID], true),
DartLib('toString', [DartType.STRINGBUFFER, DartType.VOID], true),
diff --git a/runtime/tools/dartfuzz/dartfuzz_type_table.dart b/runtime/tools/dartfuzz/dartfuzz_type_table.dart
index d5eb01b..b462143 100644
--- a/runtime/tools/dartfuzz/dartfuzz_type_table.dart
+++ b/runtime/tools/dartfuzz/dartfuzz_type_table.dart
@@ -256,9 +256,6 @@
static const TYPEERROR_NULLABLE = DartType._withName('TypeError', true);
static const CASTERROR = DartType._withName('CastError', false);
static const CASTERROR_NULLABLE = DartType._withName('CastError', true);
- static const NULLTHROWNERROR = DartType._withName('NullThrownError', false);
- static const NULLTHROWNERROR_NULLABLE =
- DartType._withName('NullThrownError', true);
static const ARGUMENTERROR = DartType._withName('ArgumentError', false);
static const ARGUMENTERROR_NULLABLE =
DartType._withName('ArgumentError', true);
@@ -23302,8 +23299,6 @@
TYPEERROR_NULLABLE,
CASTERROR,
CASTERROR_NULLABLE,
- NULLTHROWNERROR,
- NULLTHROWNERROR_NULLABLE,
ARGUMENTERROR,
ARGUMENTERROR_NULLABLE,
RANGEERROR,
@@ -80272,7 +80267,6 @@
FALLTHROUGHERROR,
INDEXERROR,
INTEGERDIVISIONBYZEROEXCEPTION,
- NULLTHROWNERROR,
RANGEERROR,
STACKOVERFLOWERROR,
STATEERROR,
@@ -85382,7 +85376,6 @@
MAP_WEAKREFERENCE_STRING_WEAKREFERENCE_INT,
MAP_WEAKREFERENCE_STRING_WEAKREFERENCE_STRING,
NULL,
- NULLTHROWNERROR,
NUM,
RANGEERROR,
REGEXP,
@@ -100419,9 +100412,6 @@
WEAKREFERENCE_STRING,
],
},
- NULLTHROWNERROR: {
- '': [],
- },
RANGEERROR: {
'': [
INT,
@@ -177088,21 +177078,6 @@
NULL,
},
},
- NULLTHROWNERROR: {
- '=': {
- NULLTHROWNERROR,
- },
- },
- NULLTHROWNERROR_NULLABLE: {
- '=': {
- NULLTHROWNERROR,
- NULLTHROWNERROR_NULLABLE,
- },
- '??=': {
- NULLTHROWNERROR,
- NULLTHROWNERROR_NULLABLE,
- },
- },
NULL_NULLABLE: {
'=': {
NULL,
@@ -179034,8 +179009,6 @@
DartType.TYPEERROR_NULLABLE,
DartType.CASTERROR,
DartType.CASTERROR_NULLABLE,
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
DartType.ARGUMENTERROR,
DartType.ARGUMENTERROR_NULLABLE,
DartType.RANGEERROR,
@@ -196650,7 +196623,6 @@
DartType.FALLTHROUGHERROR,
DartType.INDEXERROR,
DartType.INTEGERDIVISIONBYZEROEXCEPTION,
- DartType.NULLTHROWNERROR,
DartType.RANGEERROR,
DartType.STACKOVERFLOWERROR,
DartType.STATEERROR,
@@ -198785,7 +198757,6 @@
DartType.MAP_WEAKREFERENCE_STRING_WEAKREFERENCE_INT,
DartType.MAP_WEAKREFERENCE_STRING_WEAKREFERENCE_STRING,
DartType.NULL,
- DartType.NULLTHROWNERROR,
DartType.NUM,
DartType.RANGEERROR,
DartType.REGEXP,
@@ -205014,9 +204985,6 @@
DartType.WEAKREFERENCE_STRING,
],
},
- DartType.NULLTHROWNERROR: {
- '': [],
- },
DartType.RANGEERROR: {
'': [
DartType.INT,
@@ -260652,21 +260620,6 @@
DartType.NULL,
},
},
- DartType.NULLTHROWNERROR: {
- '=': {
- DartType.NULLTHROWNERROR,
- },
- },
- DartType.NULLTHROWNERROR_NULLABLE: {
- '=': {
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
- },
- '??=': {
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
- },
- },
DartType.NULL_NULLABLE: {
'=': {
DartType.NULL,
@@ -262360,8 +262313,6 @@
DartType.TYPEERROR_NULLABLE,
DartType.CASTERROR,
DartType.CASTERROR_NULLABLE,
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
DartType.ARGUMENTERROR,
DartType.ARGUMENTERROR_NULLABLE,
DartType.RANGEERROR,
@@ -263178,7 +263129,6 @@
DartType.FALLTHROUGHERROR,
DartType.INDEXERROR,
DartType.INTEGERDIVISIONBYZEROEXCEPTION,
- DartType.NULLTHROWNERROR,
DartType.RANGEERROR,
DartType.STACKOVERFLOWERROR,
DartType.STATEERROR,
@@ -263331,7 +263281,6 @@
DartType.MAP_STRING_INT,
DartType.MAP_STRING_STRING,
DartType.NULL,
- DartType.NULLTHROWNERROR,
DartType.NUM,
DartType.RANGEERROR,
DartType.REGEXP,
@@ -263714,9 +263663,6 @@
DartType.STRING,
],
},
- DartType.NULLTHROWNERROR: {
- '': [],
- },
DartType.RANGEERROR: {
'': [
DartType.INT,
@@ -305026,21 +304972,6 @@
DartType.NULL,
},
},
- DartType.NULLTHROWNERROR: {
- '=': {
- DartType.NULLTHROWNERROR,
- },
- },
- DartType.NULLTHROWNERROR_NULLABLE: {
- '=': {
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
- },
- '??=': {
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
- },
- },
DartType.NULL_NULLABLE: {
'=': {
DartType.NULL,
@@ -306370,8 +306301,6 @@
DartType.TYPEERROR_NULLABLE,
DartType.CASTERROR,
DartType.CASTERROR_NULLABLE,
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
DartType.ARGUMENTERROR,
DartType.ARGUMENTERROR_NULLABLE,
DartType.RANGEERROR,
@@ -306956,7 +306885,6 @@
DartType.FALLTHROUGHERROR,
DartType.INDEXERROR,
DartType.INTEGERDIVISIONBYZEROEXCEPTION,
- DartType.NULLTHROWNERROR,
DartType.RANGEERROR,
DartType.STACKOVERFLOWERROR,
DartType.STATEERROR,
@@ -307062,7 +306990,6 @@
DartType.MAP_STRING_INT,
DartType.MAP_STRING_STRING,
DartType.NULL,
- DartType.NULLTHROWNERROR,
DartType.NUM,
DartType.RANGEERROR,
DartType.REGEXP,
@@ -307331,9 +307258,6 @@
DartType.STRING,
],
},
- DartType.NULLTHROWNERROR: {
- '': [],
- },
DartType.RANGEERROR: {
'': [
DartType.INT,
@@ -348302,21 +348226,6 @@
DartType.NULL,
},
},
- DartType.NULLTHROWNERROR: {
- '=': {
- DartType.NULLTHROWNERROR,
- },
- },
- DartType.NULLTHROWNERROR_NULLABLE: {
- '=': {
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
- },
- '??=': {
- DartType.NULLTHROWNERROR,
- DartType.NULLTHROWNERROR_NULLABLE,
- },
- },
DartType.NULL_NULLABLE: {
'=': {
DartType.NULL,
diff --git a/runtime/tools/dartfuzz/gen_api_table.dart b/runtime/tools/dartfuzz/gen_api_table.dart
index e728d52..c4d9f62 100644
--- a/runtime/tools/dartfuzz/gen_api_table.dart
+++ b/runtime/tools/dartfuzz/gen_api_table.dart
@@ -80,7 +80,6 @@
const mapEntryIntStringEncoding = 'DartType.MAPENTRY_INT_STRING';
const mapIntStringEncoding = 'DartType.MAP_INT_STRING';
const nullEncoding = 'DartType.NULL';
-const nullThrownErrorEncoding = 'DartType.NULLTHROWNERROR';
const numEncoding = 'DartType.NUM';
const provisionalEncoding = 'DartType.PROVISIONAL';
const rangeErrorEncoding = 'DartType.RANGEERROR';
@@ -140,7 +139,6 @@
final mapEntryIntStringLibs = 'mapEntryIntStringLibs';
final mapLibs = 'mapLibs';
final nullLibs = 'nullLibs';
-final nullThrownErrorLibs = 'nullThrownErrorLibs';
final numLibs = 'numLibs';
final provisionalLibs = 'provisionalLibs';
final rangeErrorLibs = 'rangeErrorLibs';
@@ -202,7 +200,6 @@
mapEntryIntStringEncoding: mapEntryIntStringLibs,
mapIntStringEncoding: mapLibs,
nullEncoding: nullLibs,
- nullThrownErrorEncoding: nullThrownErrorLibs,
numEncoding: numLibs,
provisionalEncoding: provisionalLibs,
rangeErrorEncoding: rangeErrorLibs,
@@ -272,7 +269,6 @@
mapEntryIntStringEncoding,
mapIntStringEncoding,
nullEncoding,
- nullThrownErrorEncoding,
numEncoding,
provisionalEncoding,
rangeErrorEncoding,
@@ -553,8 +549,6 @@
return mapEntryIntStringEncoding;
case 'Null':
return nullEncoding;
- case 'NullThrownError':
- return nullThrownErrorEncoding;
case 'Provisional':
return provisionalEncoding;
case 'RangeError':
diff --git a/runtime/vm/exceptions.cc b/runtime/vm/exceptions.cc
index f3afcf2..4a5d5a4 100644
--- a/runtime/vm/exceptions.cc
+++ b/runtime/vm/exceptions.cc
@@ -732,8 +732,13 @@
bool use_preallocated_stacktrace = false;
Instance& exception = Instance::Handle(zone, incoming_exception.ptr());
if (exception.IsNull()) {
- exception ^=
- Exceptions::Create(Exceptions::kNullThrown, Object::empty_array());
+ const Array& args = Array::Handle(zone, Array::New(4));
+ const Smi& line_col = Smi::Handle(zone, Smi::New(-1));
+ args.SetAt(0, Symbols::OptimizedOut());
+ args.SetAt(1, line_col);
+ args.SetAt(2, line_col);
+ args.SetAt(3, String::Handle(String::New("Throw of null.")));
+ exception ^= Exceptions::Create(Exceptions::kType, args);
} else if (existing_stacktrace.IsNull() &&
(exception.ptr() == object_store->out_of_memory() ||
exception.ptr() == object_store->stack_overflow())) {
@@ -1134,10 +1139,6 @@
library = Library::CoreLibrary();
class_name = &Symbols::UnsupportedError();
break;
- case kNullThrown:
- library = Library::CoreLibrary();
- class_name = &Symbols::NullThrownError();
- break;
case kIsolateSpawn:
library = Library::IsolateLibrary();
class_name = &Symbols::IsolateSpawnException();
diff --git a/runtime/vm/exceptions.h b/runtime/vm/exceptions.h
index d7b7367..1af67ac 100644
--- a/runtime/vm/exceptions.h
+++ b/runtime/vm/exceptions.h
@@ -61,7 +61,6 @@
kUnsupported,
kStackOverflow,
kOutOfMemory,
- kNullThrown,
kIsolateSpawn,
kAssertion,
kType,
diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc
index ddbd4e4..9cbb991 100644
--- a/runtime/vm/object_test.cc
+++ b/runtime/vm/object_test.cc
@@ -7420,7 +7420,7 @@
ISOLATE_UNIT_TEST_CASE(Symbols_FromConcatAll) {
{
- const String* data[3] = {&Symbols::NullThrownError(), &Symbols::Dot(),
+ const String* data[3] = {&Symbols::TypeError(), &Symbols::Dot(),
&Symbols::isPaused()};
CheckConcatAll(data, 3);
}
@@ -7475,7 +7475,7 @@
{
const String& empty = String::Handle(String::New(""));
- const String* data[3] = {&Symbols::NullThrownError(), &empty,
+ const String* data[3] = {&Symbols::TypeError(), &empty,
&Symbols::isPaused()};
CheckConcatAll(data, 3);
}
diff --git a/runtime/vm/symbols.h b/runtime/vm/symbols.h
index ac40249..0cc1eed 100644
--- a/runtime/vm/symbols.h
+++ b/runtime/vm/symbols.h
@@ -200,7 +200,6 @@
V(NoSuchMethod, "noSuchMethod") \
V(NoSuchMethodError, "NoSuchMethodError") \
V(Null, "Null") \
- V(NullThrownError, "NullThrownError") \
V(Number, "num") \
V(Object, "Object") \
V(ObjectPool, "ObjectPool") \
diff --git a/sdk/lib/core/errors.dart b/sdk/lib/core/errors.dart
index 82beca1..b6e4aee 100644
--- a/sdk/lib/core/errors.dart
+++ b/sdk/lib/core/errors.dart
@@ -142,17 +142,6 @@
/// Error thrown by the runtime system when a dynamic type error happens.
class TypeError extends Error {}
-/// Error thrown when attempting to throw `null`.
-///
-/// In null safe code, you are statically disallowed from throwing `null`,
-/// so this error will go away when non-null safe code stops being supported.
-@Deprecated("Use TypeError instead")
-class NullThrownError extends Error implements TypeError {
- @pragma("vm:entry-point")
- NullThrownError();
- String toString() => "Throw of null.";
-}
-
/// Error thrown when a function is passed an unacceptable argument.
///
/// The method should document restrictions on the arguments it accepts,