File tree Expand file tree Collapse file tree 1 file changed +7
-2
lines changed
docs/ql-libraries/dataflow Expand file tree Collapse file tree 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -150,14 +150,19 @@ call-graph should be defined as a predicate:
150
150
``` ql
151
151
DataFlowCallable viableCallable(DataFlowCall c)
152
152
```
153
+ Furthermore, each ` Node ` must be associated with exactly one callable and this
154
+ relation should be defined as:
155
+ ``` ql
156
+ DataFlowCallable nodeGetEnclosingCallable(Node n)
157
+ ```
153
158
154
159
In order to connect data-flow across calls, the 4 ` Node ` subclasses
155
160
` ArgumentNode ` , ` ParameterNode ` , ` ReturnNode ` , and ` OutNode ` are used.
156
161
Flow into callables from arguments to parameters are matched up using an
157
- integer position, so these two classes must define :
162
+ integer position, so these two predicates must be defined :
158
163
``` ql
159
164
ArgumentNode::argumentOf(DataFlowCall call, int pos)
160
- ParameterNode::isParameterOf( DataFlowCallable c, int pos)
165
+ predicate isParameterNode(ParameterNode p, DataFlowCallable c, int pos)
161
166
```
162
167
It is typical to use ` pos = -1 ` for an implicit ` this ` -parameter.
163
168
You can’t perform that action at this time.
0 commit comments