@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
27 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.processSymbol = processSymbol;
const process_value_1 = require("./process-value");
const convert_values_1 = require("../../../r-bridge/lang-4.x/convert-values");
const graph_1 = require("../../graph/graph");
const vertex_1 = require("../../graph/vertex");
const identifier_1 = require("../../environments/identifier");
function processSymbol(symbol, data) {
if (symbol.content === convert_values_1.RNull || symbol.content === convert_values_1.RNa) {
return (0, process_value_1.processValue)(symbol, data);
}
return {
unknownReferences: [{ nodeId: symbol.info.id, name: symbol.content, controlDependencies: data.controlDependencies, type: identifier_1.ReferenceType.Unknown }],
in: [],
out: [],
environment: data.environment,
graph: new graph_1.DataflowGraph(data.completeAst.idMap).addVertex({
tag: vertex_1.VertexType.Use,
id: symbol.info.id,
cds: data.controlDependencies
}),
entryPoint: symbol.info.id,
exitPoints: [{ nodeId: symbol.info.id, type: 0 /* ExitPointType.Default */, controlDependencies: data.controlDependencies }]
};
}
//# sourceMappingURL=process-symbol.js.map