Determines the (transitive) origin of a function call (i.e., all anonymous function definitions within the program that can be called).

f <- function(x) {
function(y) { y + x }
}
g <- f(2)
g(3)
  • Requesting the origin of g(3) returns a FunctionCallOrigin for the anonymous function defined and returned within the body of f.
  • Requesting the origin of f(2) returns a FunctionCallOrigin for the anonymous function bound to f.

Either also return the SimpleOrigin for the read of the respective variable definition.

interface FunctionCallOrigin {
    id: NodeId;
    type: FunctionCallOrigin;
}

Properties

Properties

id: NodeId