@@ -169,23 +169,33 @@ signature module OutputSig<InputSig I> {
169
169
I:: Callable getEnclosingCallable ( ) ;
170
170
}
171
171
172
+ /** A data flow node for an expression. */
172
173
class ExprNode extends ClosureNode {
174
+ /** Gets the expression corresponding to this node. */
173
175
I:: Expr getExpr ( ) ;
174
176
}
175
177
178
+ /** A data flow node for the `PostUpdateNode` of an expression. */
176
179
class ExprPostUpdateNode extends ClosureNode {
180
+ /** Gets the expression corresponding to this node. */
177
181
I:: Expr getExpr ( ) ;
178
182
}
179
183
184
+ /** A data flow node for a parameter. */
180
185
class ParameterNode extends ClosureNode {
186
+ /** Gets the parameter corresponding to this node. */
181
187
I:: CapturedParameter getParameter ( ) ;
182
188
}
183
189
190
+ /** A data flow node for an instance parameter. */
184
191
class ThisParameterNode extends ClosureNode {
192
+ /** Gets the callable this instance parameter belongs to. */
185
193
I:: Callable getCallable ( ) ;
186
194
}
187
195
196
+ /** A data flow node for the instance parameter argument of a constructor call. */
188
197
class MallocNode extends ClosureNode {
198
+ /** Gets closure construction that is the post-update of this node. */
189
199
I:: ClosureExpr getClosureExpr ( ) ;
190
200
}
191
201
@@ -195,10 +205,13 @@ signature module OutputSig<InputSig I> {
195
205
/** Holds if there is a local flow step from `node1` to `node2`. */
196
206
predicate localFlowStep ( ClosureNode node1 , ClosureNode node2 ) ;
197
207
208
+ /** Holds if there is a store step from `node1` to `node2`. */
198
209
predicate storeStep ( ClosureNode node1 , I:: CapturedVariable v , ClosureNode node2 ) ;
199
210
211
+ /** Holds if there is a read step from `node1` to `node2`. */
200
212
predicate readStep ( ClosureNode node1 , I:: CapturedVariable v , ClosureNode node2 ) ;
201
213
214
+ /** Holds if this-to-this summaries are expected for `c`. */
202
215
predicate heuristicAllowInstanceParameterReturnInSelf ( I:: Callable c ) ;
203
216
}
204
217
0 commit comments