start method
Start a synchronous operation within this task named name
. Optionally takes a Map of arguments
.
Implementation
void start(String name, {Map? arguments}) { if (!_hasTimeline) return; // TODO: When NNBD is complete, delete the following line. ArgumentError.checkNotNull(name, 'name'); var block = new _AsyncBlock._(name, _taskId); _stack.add(block); // TODO(39115): Spurious error about collection literal ambiguity. // TODO(39117): Spurious error about typing of `...?arguments`. // TODO(39120): Spurious error even about `...arguments`. // When these TODOs are done, we can use spread and if elements. var map = <Object?, Object?>{}; if (arguments != null) { for (var key in arguments.keys) { map[key] = arguments[key]; } } if (_parent != null) map['parentId'] = _parent!._taskId.toRadixString(16); if (_filterKey != null) map[_kFilterKey] = _filterKey; block._start(map); }
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-developer/TimelineTask/start.html