Skip to content

Commit 579c56c

Browse files
authored
Merge pull request github#13178 from yoff/python-ruby/track-through-summaries-pm
ruby/python: Shared module for typetracking through flow summaries
2 parents d28c420 + fb6955e commit 579c56c

File tree

13 files changed

+1314
-264
lines changed

13 files changed

+1314
-264
lines changed

config/identical-files.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,10 @@
523523
"python/ql/lib/semmle/python/dataflow/new/internal/TypeTracker.qll",
524524
"ruby/ql/lib/codeql/ruby/typetracking/TypeTracker.qll"
525525
],
526+
"SummaryTypeTracker": [
527+
"python/ql/lib/semmle/python/dataflow/new/internal/SummaryTypeTracker.qll",
528+
"ruby/ql/lib/codeql/ruby/typetracking/internal/SummaryTypeTracker.qll"
529+
],
526530
"AccessPathSyntax": [
527531
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/AccessPathSyntax.qll",
528532
"go/ql/lib/semmle/go/dataflow/internal/AccessPathSyntax.qll",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* Type tracking is now aware of flow summaries. This leads to a richer API graph, and may lead to more results in some queries.

python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@ abstract class LibraryCallable extends string {
251251
/** Gets a call to this library callable. */
252252
abstract CallCfgNode getACall();
253253

254+
/** Same as `getACall` but without referring to the call graph or API graph. */
255+
CallCfgNode getACallSimple() { none() }
256+
254257
/** Gets a data-flow node, where this library callable is used as a call-back. */
255258
abstract ArgumentNode getACallback();
256259
}

0 commit comments

Comments
 (0)