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

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

Issue 25094002: Adapt streams for additional stackTrace argument. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments. Created 7 years, 2 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
Index: sdk/lib/async/stream_controller.dart
diff --git a/sdk/lib/async/stream_controller.dart b/sdk/lib/async/stream_controller.dart
index b2cd7f945d87f9d786168898c408f89a74291340..ef1bb55d19b33fbd9c5b573aba5f72fb8c1f3f55 100644
--- a/sdk/lib/async/stream_controller.dart
+++ b/sdk/lib/async/stream_controller.dart
@@ -170,7 +170,7 @@ abstract class StreamController<T> implements StreamSink<T> {
abstract class _StreamControllerLifecycle<T> {
StreamSubscription<T> _subscribe(void onData(T data),
- void onError(Object error),
+ Function onError,
void onDone(),
bool cancelOnError);
void _recordPause(StreamSubscription<T> subscription) {}
@@ -383,7 +383,7 @@ abstract class _StreamController<T> implements StreamController<T>,
// a stack trace.
_attachStackTrace(error, stackTrace);
}
- _addError(error);
+ _addError(error, stackTrace);
}
/**
@@ -424,11 +424,11 @@ abstract class _StreamController<T> implements StreamController<T>,
}
}
- void _addError(Object error) {
+ void _addError(Object error, StackTrace stackTrace) {
if (hasListener) {
- _sendError(error);
+ _sendError(error, stackTrace);
} else if (_isInitialState) {
- _ensurePendingEvents().add(new _DelayedError(error));
+ _ensurePendingEvents().add(new _DelayedError(error, stackTrace));
}
}
@@ -444,7 +444,7 @@ abstract class _StreamController<T> implements StreamController<T>,
// _StreamControllerLifeCycle interface
StreamSubscription<T> _subscribe(void onData(T data),
- void onError(Object error),
+ Function onError,
void onDone(),
bool cancelOnError) {
if (!_isInitialState) {
@@ -506,8 +506,8 @@ abstract class _SyncStreamControllerDispatch<T>
_subscription._add(data);
}
- void _sendError(Object error) {
- _subscription._addError(error);
+ void _sendError(Object error, StackTrace stackTrace) {
+ _subscription._addError(error, stackTrace);
}
void _sendDone() {
@@ -521,8 +521,8 @@ abstract class _AsyncStreamControllerDispatch<T>
_subscription._addPending(new _DelayedData(data));
}
- void _sendError(Object error) {
- _subscription._addPending(new _DelayedError(error));
+ void _sendError(Object error, StackTrace stackTrace) {
+ _subscription._addPending(new _DelayedError(error, stackTrace));
}
void _sendDone() {
@@ -590,7 +590,7 @@ class _ControllerStream<T> extends _StreamImpl<T> {
StreamSubscription<T> _createSubscription(
void onData(T data),
- void onError(Object error),
+ Function onError,
void onDone(),
bool cancelOnError) =>
_controller._subscribe(onData, onError, onDone, cancelOnError);
@@ -614,7 +614,7 @@ class _ControllerSubscription<T> extends _BufferingStreamSubscription<T> {
_ControllerSubscription(this._controller,
void onData(T data),
- void onError(Object error),
+ Function onError,
void onDone(),
bool cancelOnError)
: super(onData, onError, onDone, cancelOnError);
@@ -638,7 +638,9 @@ class _StreamSinkWrapper<T> implements StreamSink<T> {
final StreamSink _target;
_StreamSinkWrapper(this._target);
void add(T data) { _target.add(data); }
- void addError(Object error) { _target.addError(error); }
+ void addError(Object error, [StackTrace stackTrace]) {
+ _target.addError(error);
+ }
Future close() => _target.close();
Future addStream(Stream<T> source) => _target.addStream(source);
Future get done => _target.done;

Powered by Google App Engine
This is Rietveld 408576698