run method
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);
}