@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
23 lines • 937 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeRecursionQuery = executeRecursionQuery;
const recursive_function_1 = require("../../../dataflow/fn/recursive-function");
const inspect_exception_query_executor_1 = require("../inspect-exceptions-query/inspect-exception-query-executor");
/**
* Execute recursion function inspection queries on the given analyzer.
*/
async function executeRecursionQuery({ analyzer }, queries) {
const start = Date.now();
const { cg, fns } = await (0, inspect_exception_query_executor_1.getFunctionsToConsiderInCallGraph)(queries, analyzer);
const result = {};
for (const [id] of fns) {
result[id] = (0, recursive_function_1.isFunctionRecursive)(id, cg);
}
return {
'.meta': {
timing: Date.now() - start
},
recursive: result
};
}
//# sourceMappingURL=inspect-recursion-query-executor.js.map