UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

29 lines 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeDataflowLensQuery = executeDataflowLensQuery; const log_1 = require("../../../util/log"); const dfg_view_1 = require("../../../util/simple-df/dfg-view"); const vertex_1 = require("../../../dataflow/graph/vertex"); function executeDataflowLensQuery({ dataflow: { graph } }, queries) { if (queries.length !== 1) { log_1.log.warn('Dataflow query expects only up to one query, but got', queries.length); } const now = Date.now(); const simplifiedGraph = (0, dfg_view_1.reduceDfg)(graph, { vertices: { keepEnv: false, keepCd: true, tags: [vertex_1.VertexType.Use, vertex_1.VertexType.VariableDefinition, vertex_1.VertexType.FunctionDefinition, vertex_1.VertexType.FunctionCall], nameRegex: '<-|<<-|->|->>|=|+|-|*|/|\\|>|function|repeat|if|next|break', blacklistWithName: true } }); const timing = Date.now() - now; return { '.meta': { timing }, simplifiedGraph }; } //# sourceMappingURL=dataflow-lens-query-executor.js.map