defineBridge method

void defineBridge(
  1. BridgedClass bridgedClass
)

Registers a bridged class in this environment.

bridgedClass The bridged class definition to register.

This makes the native class available for use in interpreted code under the name specified by the bridged class definition. Registers a bridged class in this environment.

bridgedClass The bridged class definition to register.

This makes the native class available for use in interpreted code under the name specified by the bridged class definition.

Implementation

void defineBridge(BridgedClass bridgedClass) {
  final name = bridgedClass.name;

  if (_values.containsKey(name) ||
      _bridgedClasses.containsKey(name) ||
      _bridgedEnums.containsKey(name)) {
    // CHECK: Also check bridged enums
    Logger.warn(
      "Redefining bridged class or colliding with existing definition: $name",
    );
  }
  _bridgedClassesOrNew[name] = bridgedClass;
  _bridgedClassesLookupByTypeOrNew[bridgedClass.nativeType] = bridgedClass;
  _invalidateResolutionCache();
  Logger.debug("[Environment] Defined bridge for class: $name");
}