operator []= method

  1. @override
void operator []=(
  1. K key,
  2. V value
)
override

Associates the key with the given value.

If the key was already in the map, its associated value is changed. Otherwise the key/value pair is added to the map.

Implementation

@override
operator []=(K key, V value) {
  assert(!isDisposed);
  if (keys.contains(key)) {
    var oldVal = _map[key];
    if (value != oldVal) {
      _map[key] = value;
      if (emitDetailedChanges)
        _changes.add(MapModification(key, oldVal, value));
      _dirty = true;
    }
  } else {
    _map[key] = value;
    if (emitDetailedChanges) _changes.add(MapModification.insert(key, value));
    _dirty = true;
  }
}