create method

BuiltinFunction create(
  1. Object? implementation(
    1. List<Object?> args
    )
)

Creates a BuiltinFunction that keeps the active runtime reference.

This is the preferred path for native functions that create many scalar values and want to reuse cached wrappers where available.

Implementation

BuiltinFunction create(Object? Function(List<Object?> args) implementation) {
  final interpreter = _context.vm;
  if (interpreter == null) {
    throw StateError('No interpreter available in context');
  }
  return _BuiltinFunctionImpl(interpreter, implementation);
}