@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
23 lines • 812 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.onUnknownSideEffect = onUnknownSideEffect;
exports.handleUnknownSideEffect = handleUnknownSideEffect;
const handlers = [];
/**
* Globally registers a handler for unknown side effects.
* @see {@link handleUnknownSideEffect} for triggering the handlers.
*/
function onUnknownSideEffect(handler) {
handlers.push(handler);
}
/**
* Handles an unknown side effect occurring at the given node in the dataflow graph.
* @see {@link onUnknownSideEffect} for registering handlers.
*/
function handleUnknownSideEffect(graph, env, id, target) {
graph.markIdForUnknownSideEffects(id, target);
for (const handler of handlers) {
handler(graph, env, id, target);
}
}
//# sourceMappingURL=unknown-side-effect.js.map