@eagleoutice/flowr
Version:
Static Dataflow Analyzer and Program Slicer for the R Programming Language
16 lines (15 loc) • 897 B
TypeScript
import { NodeId } from '../../r-bridge/lang-4.x/ast/model/processing/node-id';
import type { ControlDependency } from '../info';
import type { CallGraph } from '../graph/call-graph';
export interface ExceptionPoint {
id: NodeId;
cds?: readonly ControlDependency[];
}
/**
* Collect exception sources of a function in the call graph.
* This returns the `NodeId`s of functions that may throw exceptions when called by the given function.
* Please be aware, that these are restricted to functions known by flowR.
* With `knownThrower` you can provide additional functions that are known to throw exceptions.
* @returns A record mapping all `NodeId`s of functions that may throw exceptions to their exception points.
*/
export declare function calculateExceptionsOfFunction(id: NodeId, graph: CallGraph, knownThrower?: Record<NodeId, ExceptionPoint[]>): Record<NodeId, ExceptionPoint[]>;