run method

Future<Object?> run()

Execute the program starting from the entry point.

Implementation

Future<Object?> run() async {
  _executionStartMs = DateTime.now().millisecondsSinceEpoch;
  await _initialized;
  final key = '${program.entryModule}.${program.entryFunction}';
  final entryFunc = _functions[key];
  if (entryFunc == null) {
    throw BallRuntimeError(
      'Entry point "${program.entryFunction}" not found '
      'in module "${program.entryModule}"',
    );
  }
  _currentModule = program.entryModule;
  return _callFunction(program.entryModule, entryFunc, null);
}