UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

16 lines (15 loc) 1.29 kB
import type { NodeToSlice } from './slicer-types'; import type { VisitingQueue } from './visiting-queue'; import type { Fingerprint } from './fingerprint'; import type { DataflowGraphVertexFunctionCall, DataflowGraphVertexInfo } from '../../dataflow/graph/vertex'; import type { REnvironmentInformation } from '../../dataflow/environments/environment'; import type { DataflowGraph, OutgoingEdges } from '../../dataflow/graph/graph'; import type { NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id'; /** * Returns the function call targets (definitions) by the given caller */ export declare function getAllFunctionCallTargets(dataflowGraph: DataflowGraph, callerInfo: DataflowGraphVertexFunctionCall, baseEnvironment: REnvironmentInformation, queue: VisitingQueue): [Set<DataflowGraphVertexInfo>, REnvironmentInformation]; /** returns the new threshold hit count */ export declare function sliceForCall(current: NodeToSlice, callerInfo: DataflowGraphVertexFunctionCall, dataflowGraph: DataflowGraph, queue: VisitingQueue): void; /** Returns true if we found at least one return edge */ export declare function handleReturns(from: NodeId, queue: VisitingQueue, currentEdges: OutgoingEdges, baseEnvFingerprint: Fingerprint, baseEnvironment: REnvironmentInformation): boolean;