UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

31 lines 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toUnnamedArgument = toUnnamedArgument; exports.wrapArgumentsUnnamed = wrapArgumentsUnnamed; const range_1 = require("../../../../../../util/range"); const r_function_call_1 = require("../../../../../../r-bridge/lang-4.x/ast/model/nodes/r-function-call"); const type_1 = require("../../../../../../r-bridge/lang-4.x/ast/model/type"); const voidRange = (0, range_1.rangeFrom)(-1, -1, -1, -1); function toUnnamedArgument(node, idMap) { if (node === undefined) { return r_function_call_1.EmptyArgument; } const arg = { type: type_1.RType.Argument, lexeme: node.lexeme ?? '', // is this correct? location: node.location ?? voidRange, info: { ...node.info, id: node.info.id + '-arg' }, name: undefined, value: node }; idMap.set(arg.info.id, node); return arg; } function wrapArgumentsUnnamed(nodes, idMap) { return nodes.map(n => n === r_function_call_1.EmptyArgument || n?.type === type_1.RType.Argument ? n : toUnnamedArgument(n, idMap)); } //# sourceMappingURL=make-argument.js.map