containsValueNoPurge method

  1. @override
bool containsValueNoPurge(
  1. Object? value
)
override

Returns true if any entry currently maps to value.

Same as containsValue, but does NOT purge entries whose key or value has already been collected. It performs a direct scan and may therefore temporarily report true for stale keys.

Implementation

@override
bool containsValueNoPurge(Object? value) {
  if (value == null || value is! V) return false;

  var v = _EntryKey<V, K>(value);
  // ignore: collection_methods_unrelated_type
  var valueEntry = _mapValues[v];
  if (valueEntry == null) return false;

  var eValue = valueEntry.target;
  return eValue != null;
}