Links the current call to the last call of the given kind. This way, you can link a call like points to the latest graphics plot etc. For now, this uses the static Control-Flow-Graph produced by flowR as the FD over-approximation is still not stable (see #1005). In short, this means that we are unable to detect origins over function call boundaries but plan on being more precise in the future.

interface LinkToLastCall<CallName extends RegExp | string = RegExp | string> {
    callName: CallName;
    cascadeIf?: (
        target: DataflowGraphVertexInfo,
        from: NodeId,
        graph: DataflowGraph,
    ) => CascadeAction;
    ignoreIf?: (id: NodeId, graph: DataflowGraph) => boolean;
    type: "link-to-last-call";
}

Type Parameters

  • CallName extends RegExp | string = RegExp | string

Hierarchy (View Summary)

Hierarchy-Diagram

UML class diagram of LinkToLastCall

Properties

callName: CallName

Regex regarding the function name of the last call. Similar to DefaultCallContextQueryFormat#callName, strings are interpreted as a RegExp.

cascadeIf?: (
    target: DataflowGraphVertexInfo,
    from: NodeId,
    graph: DataflowGraph,
) => CascadeAction

Should we continue searching after the link was created? Currently, there is no well working serialization for this.

ignoreIf?: (id: NodeId, graph: DataflowGraph) => boolean

Should we ignore this (source) call? Currently, there is no well working serialization for this.

type: "link-to-last-call"

used to select the query type :)