recordSignals<T> function
Implementation
(Set<AbstractSignal<dynamic>> signals, T result) recordSignals<T>(T Function() function) {
final previousRecorder = _signalRecorder;
_signalRecorder = StreamController(sync: true);
final recordedSignals = <AbstractSignal<dynamic>>{};
final subscription = _signalRecorder!.stream.listen((signal) {
if (!suppressRecording) {
recordedSignals.add(signal);
}
});
var doingBuildThroughSc1 = _debugDoingBuildThroughSc1;
assert(run(() {
_debugDoingBuildThroughSc1 = true;
return true;
}));
T result;
try {
result = function();
} finally {
subscription.cancel();
_signalRecorder = previousRecorder;
assert(run(() {
_debugDoingBuildThroughSc1 = doingBuildThroughSc1;
return true;
}));
}
return (recordedSignals, result);
}