finish method Null safety

void finish(
  1. {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();
  block._finish(arguments);
}