diff --git a/experiments/modern/src/maki-interpreter/interpreter.js b/experiments/modern/src/maki-interpreter/interpreter.js index e7a39c1a..ff4e44b3 100644 --- a/experiments/modern/src/maki-interpreter/interpreter.js +++ b/experiments/modern/src/maki-interpreter/interpreter.js @@ -3,7 +3,7 @@ const { getClass, getFormattedId } = require("./objects"); const interpret = require("./virtualMachine"); const { printCommand } = require("./prettyPrinter"); -function main({ runtime, data, system, log, logger }) { +async function main({ runtime, data, system, log, logger }) { const program = parse(data); // Replace class hashes with actual JavaScript classes from the runtime @@ -29,8 +29,8 @@ function main({ runtime, data, system, log, logger }) { // const logger = log ? printCommand : logger; // TODO: Handle disposing of this. // TODO: Handle passing in variables. - variable.hook(method.name, () => { - interpret(commandOffset, program, [], { logger }); + variable.hook(method.name, async () => { + await interpret(commandOffset, program, [], { logger }); }); }); @@ -42,7 +42,7 @@ function main({ runtime, data, system, log, logger }) { // Set the System global // TODO: We could confirm that this variable has the "system" flag set. program.variables[0].setValue(system); - system.js_start(); + await system.js_start(); } module.exports = main; diff --git a/experiments/modern/src/maki-interpreter/runtime/System.js b/experiments/modern/src/maki-interpreter/runtime/System.js index 27330ca6..8ce09282 100644 --- a/experiments/modern/src/maki-interpreter/runtime/System.js +++ b/experiments/modern/src/maki-interpreter/runtime/System.js @@ -12,8 +12,8 @@ class System extends MakiObject { return "System"; } - js_start() { - this.js_trigger("onScriptLoaded"); + async js_start() { + await this.js_trigger("onScriptLoaded"); } getScriptGroup() {