run method

  1. @override
Future<CoreRunResult> run(
  1. String code, {
  2. String? limitsJson,
  3. String? scriptName,
})

Runs code to completion and returns the result.

Implementation

@override
Future<CoreRunResult> run(
  String code, {
  String? limitsJson,
  String? scriptName,
}) async {
  final handle = _bindings.create(code, scriptName: scriptName);
  final hid = _bindings.getHandleId(handle);
  _handleId = hid;
  if (hid > 0) {
    onHandleCreated?.call(hid);
  }
  try {
    _applyLimits(handle, limitsJson);
    final result = _bindings.run(handle);

    return _translateRunResult(result);
  } finally {
    _bindings.free(handle);
    _handleId = null;
  }
}