@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
31 lines • 1.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataFrameInfoMarker = void 0;
exports.hasDataFrameAssignmentInfo = hasDataFrameAssignmentInfo;
exports.hasDataFrameExpressionInfo = hasDataFrameExpressionInfo;
exports.hasDataFrameInfoMarker = hasDataFrameInfoMarker;
/** Enum to mark nodes during the data frame shape inference */
var DataFrameInfoMarker;
(function (DataFrameInfoMarker) {
/** Marks the target symbol of assignments as "unassigned" until the assigned expression is evaluated */
DataFrameInfoMarker["Unassigned"] = "unassigned";
})(DataFrameInfoMarker || (exports.DataFrameInfoMarker = DataFrameInfoMarker = {}));
/**
* Checks whether an AST node has attached data frame assignment information.
*/
function hasDataFrameAssignmentInfo(node) {
return node.info.dataFrame?.type === 'assignment';
}
/**
* Checks whether an AST node has attached data frame expression information.
*/
function hasDataFrameExpressionInfo(node) {
return node.info.dataFrame?.type === 'expression';
}
/**
* Checks whether an AST node has an attached data frame info marker.
*/
function hasDataFrameInfoMarker(node, marker) {
return node.info.dataFrame?.type === undefined && node.info.dataFrame?.marker === marker;
}
//# sourceMappingURL=absint-info.js.map