Skip to content

Commit 1357796

Browse files
committed
Data flow: Document Node::getEnclosingCallable()
1 parent 129e528 commit 1357796

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

docs/ql-libraries/dataflow/dataflow.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ Recommendations:
9898
also work, but the upside of `use-use` steps is that sources defined in terms
9999
of variable reads just work out of the box. It also makes certain
100100
barrier-implementations simpler.
101+
* A predicate `DataFlowCallable Node::getEnclosingCallable()` is required, and in
102+
order to ensure appropriate join-orders, it is important that the QL compiler knows
103+
that this predicate is functional. It can therefore be necessary to enclose the body
104+
of this predicate in a `unique` aggregate.
101105

102106
The shared library does not use `localFlowStep` nor `localFlow` but users of
103107
`DataFlow.qll` may expect the existence of `DataFlow::localFlowStep` and

0 commit comments

Comments
 (0)