From c02b59219cf48cc38f192b9e7ee985fdf3063831 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Thu, 11 Jul 2019 20:57:18 -0700 Subject: [PATCH] Inject logger --- experiments/modern/src/maki-interpreter/interpreter.js | 5 +++-- experiments/modern/src/maki-interpreter/virtualMachine.js | 8 +++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/experiments/modern/src/maki-interpreter/interpreter.js b/experiments/modern/src/maki-interpreter/interpreter.js index 56e7f450..bb23b433 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 }) { +function main({ runtime, data, system, log, logger }) { const program = parse(data); // Replace class hashes with actual JavaScript classes from the runtime @@ -26,10 +26,11 @@ function main({ runtime, data, system, log }) { const { commandOffset, variableOffset, methodOffset } = binding; const variable = program.variables[variableOffset]; const method = program.methods[methodOffset]; + const logger = log ? printCommand : null; // TODO: Handle disposing of this. // TODO: Handle passing in variables. variable.hook(method.name, () => { - interpret(commandOffset, program, { log }); + interpret(commandOffset, program, { logger }); }); }); diff --git a/experiments/modern/src/maki-interpreter/virtualMachine.js b/experiments/modern/src/maki-interpreter/virtualMachine.js index 84538758..481b7fa9 100644 --- a/experiments/modern/src/maki-interpreter/virtualMachine.js +++ b/experiments/modern/src/maki-interpreter/virtualMachine.js @@ -1,6 +1,4 @@ -const { printCommand } = require("./prettyPrinter"); - -function interpret(start, program, { log = false }) { +function interpret(start, program, { logger = null }) { const { commands, methods, variables, classes, offsetToCommand } = program; // Run all the commands that are safe to run. Increment this number to find @@ -102,8 +100,8 @@ function interpret(start, program, { log = false }) { } // Print some debug info - if (log) { - printCommand({ i, command, stack, variables }); + if (logger) { + logger({ i, command, stack, variables }); } } }