toId method

  1. @protected
String toId (Object object, String groupName)
@protected

Returns a unique id for object that will remain live at least until disposeGroup is called on groupName or dispose is called on the id returned by this method.

Implementation

@protected
String toId(Object object, String groupName) {
  if (object == null)
    return null;

  final Set<_InspectorReferenceData> group = _groups.putIfAbsent(groupName, () => Set<_InspectorReferenceData>.identity());
  String id = _objectToId[object];
  _InspectorReferenceData referenceData;
  if (id == null) {
    id = 'inspector-$_nextId';
    _nextId += 1;
    _objectToId[object] = id;
    referenceData = _InspectorReferenceData(object);
    _idToReferenceData[id] = referenceData;
    group.add(referenceData);
  } else {
    referenceData = _idToReferenceData[id];
    if (group.add(referenceData))
      referenceData.count += 1;
  }
  return id;
}