finish method
- {Map? arguments}
Finish the last synchronous operation that was started.
Optionally takes a Map of arguments
.
Implementation
void finish({Map? arguments}) {
if (!_hasTimeline) {
return;
}
if (_stack.length == 0) {
throw new StateError('Uneven calls to start and finish');
}
if (_filterKey != null) {
arguments ??= {};
arguments[_kFilterKey] = _filterKey;
}
// Pop top item off of stack.
var block = _stack.removeLast();
if (block == null) {
// Dart stream was disabled when start was called.
return;
}
block._finish(arguments);
}