@@ -288,6 +288,9 @@ module Routing {
288
288
* Gets a node whose value can be accessed via the given access path on the `n`th route handler parameter,
289
289
* from any route handler that follows after this one.
290
290
*
291
+ * This predicate may be overridden by framework models and only accounts for assignments made by the framework;
292
+ * not necessarily assignments that are explicit in the application code.
293
+ *
291
294
* For example, in the context of Express, the `app` object is available as `req.app`:
292
295
* ```js
293
296
* app.get('/', (req, res) => {
@@ -296,10 +299,8 @@ module Routing {
296
299
* ```
297
300
* This can be modelled by mapping `(0, "app")` to the `app` data-flow node (`n=0` corresponds
298
301
* to the `req` parameter).
299
- *
300
- * This predicate may be overridden by framework models.
301
302
*/
302
- DataFlow:: Node getValueAtAccessPath ( int n , string path ) { none ( ) }
303
+ DataFlow:: Node getValueImplicitlyStoredInAccessPath ( int n , string path ) { none ( ) }
303
304
}
304
305
305
306
/** Holds if `pred` and `succ` are adjacent siblings. */
@@ -875,7 +876,9 @@ module Routing {
875
876
)
876
877
or
877
878
// Implicit assignment contributed by framework model
878
- exists ( DataFlow:: Node value , string path1 | value = base .getValueAtAccessPath ( n , path1 ) |
879
+ exists ( DataFlow:: Node value , string path1 |
880
+ value = base .getValueImplicitlyStoredInAccessPath ( n , path1 )
881
+ |
879
882
result = value and path = path1
880
883
or
881
884
exists ( string path2 |
0 commit comments