Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(523)

Unified Diff: sdk/lib/async/stream_controller.dart

Issue 598993002: Add missing null-tests to async error functions. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Add co19 issue number to status file. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/async/stream.dart ('k') | sdk/lib/async/stream_pipe.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/async/stream_controller.dart
diff --git a/sdk/lib/async/stream_controller.dart b/sdk/lib/async/stream_controller.dart
index fe3fbddc72973bff4d4a5d909155a5da1540c08f..aa45876e3286ad44b351d19acdaa0bc7a3f6b232 100644
--- a/sdk/lib/async/stream_controller.dart
+++ b/sdk/lib/async/stream_controller.dart
@@ -168,6 +168,8 @@ abstract class StreamController<T> implements StreamSink<T> {
/**
* Send or enqueue an error event.
*
+ * If [error] is `null`, it is replaced by a [NullThrownError].
+ *
* Also allows an objection stack trace object, on top of what [EventSink]
* allows.
*/
@@ -414,10 +416,11 @@ abstract class _StreamController<T> implements StreamController<T>,
* Send or enqueue an error event.
*/
void addError(Object error, [StackTrace stackTrace]) {
+ error = _nonNullError(error);
if (!_mayAddEvent) throw _badEventState();
AsyncError replacement = Zone.current.errorCallback(error, stackTrace);
if (replacement != null) {
- error = replacement.error;
+ error = _nonNullError(replacement.error);
stackTrace = replacement.stackTrace;
}
_addError(error, stackTrace);
« no previous file with comments | « sdk/lib/async/stream.dart ('k') | sdk/lib/async/stream_pipe.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698