LazyBridgeRegistry<K> class

A key → BridgedClass map whose entries may be stored as deferred thunks rather than pre-built classes.

Step #3 of the import-optimization plan (substrate for the generator's lazy emission, plan step #17). operator [] resolves a thunk on first access and memoizes the built BridgedClass, so a heavy class body (its seven member maps and all adapter closures) is constructed at most once. containsKey / keys / length only consult the thunk keys, so probing for a name never forces a build.

Used both name-keyed (K = String, lexical lookup) and type-keyed (K = Type, native-object resolution). Today every entry is a trivial () => alreadyBuiltClass thunk (registration still hands over built classes — behaviour unchanged); once the generator emits genuinely deferred thunks, the heavy body is built only when the name/type is first touched during interpretation.

Mirror of the same class in tom_d4rt environment.dart.

Public so the D4rtRunner-level registries (_bridgedDefLookupByType and the pooled _PackageBridgeBundle.bridgedDefLookupByType) can be thunk-backed too — the generator's lazy emission (import-optimization plan step #17) stores a Type → thunk entry at registration time without building the class.

Inheritance

Constructors

LazyBridgeRegistry()

Properties

entries → Iterable<MapEntry<K, BridgedClass>>
The map entries of this Map.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
isEmpty → bool
Whether there is no key/value pair in the map.
no setterinherited
isNotEmpty → bool
Whether there is at least one key/value pair in the map.
no setterinherited
keys → Iterable<K>
The keys of this Map.
no setteroverride
length → int
The number of key/value pairs in the map.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
values → Iterable<BridgedClass>
The values of this Map.
no setterinherited

Methods

addAll(Map<K, BridgedClass> other) → void
Adds all key/value pairs of other to this map.
inherited
addEntries(Iterable<MapEntry<K, BridgedClass>> newEntries) → void
Adds all key/value pairs of newEntries to this map.
inherited
addThunksFrom(LazyBridgeRegistry<K> other) → void
Copies every deferred thunk (and any already-built memo) from other into this registry without building the unresolved thunks. Used to merge a pooled bundle's type lookup into a per-instance one (the lazy counterpart of Map.addAll, which would force a build via forEach).
cast<RK, RV>() → Map<RK, RV>
Provides a view of this map as having RK keys and RV instances, if necessary.
inherited
clear() → void
Removes all entries from the map.
override
containsKey(Object? key) → bool
Whether this map contains the given key.
inherited
containsValue(Object? value) → bool
Whether this map contains the given value.
inherited
forEach(void action(K key, BridgedClass value)) → void
Applies action to each key/value pair of the map.
inherited
map<K2, V2>(MapEntry<K2, V2> transform(K key, BridgedClass value)) → Map<K2, V2>
Returns a new map where all entries of this map are transformed by the given convert function.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
putIfAbsent(K key, BridgedClass ifAbsent()) → BridgedClass
Look up the value of key, or add a new entry if it isn't there.
inherited
putThunk(K key, BridgedClass thunk()) → void
Registers key as a deferred thunk. The BridgedClass is not built until operator [] is first called for key; any previously memoized result is dropped so the new thunk wins.
remove(Object? key) → BridgedClass?
Removes key and its associated value, if present, from the map.
override
removeWhere(bool test(K key, BridgedClass value)) → void
Removes all entries of this map that satisfy the given test.
inherited
toString() → String
A string representation of this object.
inherited
update(K key, BridgedClass update(BridgedClass value), {BridgedClass ifAbsent()?}) → BridgedClass
Updates the value for the provided key.
inherited
updateAll(BridgedClass update(K key, BridgedClass value)) → void
Updates all values.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited
operator [](Object? key) → BridgedClass?
The value for the given key, or null if key is not in the map.
override
operator []=(K key, BridgedClass value) → void
Associates the key with the given value.
override