Module signature ApiGraphSharedSig
The signature to use when instantiating ApiGraphShared.
The implementor should define a newtype with at least three branches as follows:
newtype TApiNode =
MkForwardNode(LocalSourceNode node, TypeTracker t) { isReachable(node, t) } or
MkBackwardNode(LocalSourceNode node, TypeTracker t) { isReachable(node, t) } or
MkSinkNode(Node node) { ... } or
...
The three branches should be exposed through getForwardNode, getBackwardNode, and getSinkNode, respectively.
Import path
import codeql.ruby.typetracking.ApiGraphSharedPredicates
| getBackwardNode | Gets the backward node with the given type-tracking state. |
| getForwardNode | Gets the forward node with the given type-tracking state. |
| getSinkNode | Gets the sink node corresponding to |
| specificEpsilonEdge | Holds if a language-specific epsilon edge |
Types
| ApiNode | A node in the API graph. |