-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move FlowSummaryImpl.qll
to dataflow
pack
#14573
Conversation
/** | ||
* A query predicate for outputting flow summaries in semi-colon separated format in QL tests. | ||
* The syntax is: "namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind;provenance", | ||
* ext is hardcoded to empty. | ||
*/ |
Check warning
Code scanning / CodeQL
Predicate QLDoc style. Warning
sinkElement(_, spec, _, _) | ||
} | ||
|
||
private module AccessPath = AccessPathSyntax::AccessPath<sourceSinkSpec/1>; |
Check warning
Code scanning / CodeQL
Dead code Warning
741725b
to
45b59c1
Compare
45b59c1
to
6185feb
Compare
6185feb
to
a047beb
Compare
94cefa4
to
b2ee1f0
Compare
b2ee1f0
to
5f79e7c
Compare
5f79e7c
to
c656fba
Compare
c656fba
to
d73136b
Compare
ae7e347
to
fcb6c19
Compare
fb1102c
to
f9dbf67
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JS 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Swift 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM, but there are 2 things I would like to get fixed for Python 🙏
python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll
Outdated
Show resolved
Hide resolved
python/ql/lib/semmle/python/frameworks/data/internal/ApiGraphModels.qll
Outdated
Show resolved
Hide resolved
) | ||
} | ||
|
||
private class SummarizedCallableAdapter extends SummarizedCallable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe a comment that this is where the MaD rows are being used to create SummarizedCallable's (the same for neutrals as well).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C#: Looks good to me!
Thank you for doing this @hvitved !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python 👍 (thanks for the updates)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can see this has already been approved by Python. I can also see that I have a pending comment, but I do not remember what it is, so I will just submit the partial review now, to see if it is still relevant.
|
@aschackmull Do we have a test for what happens when we have a manual model and a generated model? |
There is at least https://github.com/github/codeql/blob/main/java/ql/src/Metrics/Summaries/GeneratedVsManualCoverage.ql. |
I don't think there exists such a test for Java. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for tackling this!
This PR turns
FlowSummaryImpl.qll
(andAccessPathSyntax.qll
) into a proper parameterized module, and moves it to the shareddataflow
pack.Previously, the exposed
SummarizedCallable
class would look likebut after this PR it is simply
That is, we now consider
SummaryComponentStack
an internal implementation detail, which is not exposed to the user (the user-facing aliases have been deprecated).Commit-by-commit review is encouraged, and for each of the
<LANG>: Use FlowSummaryImpl from dataflow pack
commits, I recommend viewing theFlowSummaryImpl.qll
in full, as the diff is not really meaningful (previously, it was the synced copy of share library, now it contains the inputs to the shared library).