refer method

  1. @override
Execution? refer(
  1. MPI mpi,
  2. dynamic ref,
  3. Introspector method,
  4. Context? ctx,
)
override

Refer the service reference by method.

Implementation

@override
Execution? refer(MPI mpi, dynamic ref, Introspector method, Context? ctx) {
  if (references.isEmpty) {
    final env = Mesh.environ(ctx);
    for (var m in ark.export<MPI>()) {
      final target = m.dft;
      if (target is! Introspectable) {
        continue;
      }
      target.methods().forEach((name, method) {
        final ref = refMethod(env, mpi, name, method);
        references[method] = _Instance(ref.urn ?? '', m.dft.runtimeType,
            target, method, ServiceHandler(method),
            ref: ref);
      });
    }
  }
  return references[method];
}