[CPP-386] More getCanonicalQlClass() goodness#1709
[CPP-386] More getCanonicalQlClass() goodness#1709zlaski-semmle wants to merge 253 commits intogithub:masterfrom
Conversation
jbj
left a comment
There was a problem hiding this comment.
LGTM except for two comments.
cpp/ql/src/semmle/code/cpp/Macro.qll
Outdated
There was a problem hiding this comment.
Why add the macro name to the string? I don't see the value, but it might hurt performance, and it seems inconsistent with all the other getCanonicalQLClass overrides. If someone is looking for a string that identifies this, they already have toString.
There was a problem hiding this comment.
Typo: PreprocessorIfsef -> PreprocessorIfdef.
|
I haven't been part of the latest "what's canonical" discussions, so there might be additional feedback from those who were. @dave-bartolomeo ? |
geoffw0
left a comment
There was a problem hiding this comment.
Changes LGTM. Had a go with this on a couple of projects locally - it's a big improvement as far as completeness is concerned. 👍
If we're looking for further improvements:
ConstructorInit,MetricFile,MicrosoftTryExceptStmtstill have nogetCanonicalQLClass()Literal+Zerooccur together frequently- there are also some overlaps to do with templates, but I think they're fairly natural and it might not actually help anyone to resolve them.
cpp/ql/src/semmle/code/cpp/Macro.qll
Outdated
There was a problem hiding this comment.
Why do we include additional information just for Macros, MacroInvocations, Specifiers and a few other things?
|
@geoffw0 We don't want to overrides for |
Good point. I was seeing some |
There was a problem hiding this comment.
There are still some attributes and specifiers that need to have this parenthesis removed. Search for ")" in the diff to find the others.
|
@zlaski-semmle, don't forget to rebase so the tests can run. |
There was a problem hiding this comment.
This should be "ConstructorInit".
|
Apart from the comment I've just made, my concerns have been addressed. |
|
Something's gone wrong with a merge here. I would suggest you try a "rebase" instead of merging next time you have a conflict on a PR. |
I thought I did rebase (I used the My mistake aside, is |
I'd use |
b563892 to
58423d8
Compare
Looking at the commits for this PR, I now see that my commits are interspersed with others' commits that I pulled in with my failed rebase
I tried the the |
jbj
left a comment
There was a problem hiding this comment.
LGTM, but a test is failing. It looks like it's just a matter of accepting the new output.
It's a strange beast. At any rate, I'm adding a direct link to the offending file here: |
|
All right, I finally squashed the Jenkins test failure. The PR should be ready to go. |
|
@zlaski-semmle are the changes to |
The latter, I'm afraid. I rebased the #1658 PR (successfully, it would appear) but then that spilled into this PR: somehow. |
5966789 to
67eb37f
Compare
More progress. Attempts to create bold monospace have failed.
Recent SnakeYAML has removed the linked method; replace the link with a reference to what it became.
f24ce7d to
d578154
Compare
|
I made a total mess of things here, so needed to create a new PR:: #1753. Sorry for the inconvenience. |
The new node types were uncovered by running the following query against
torvalds/linux,vim/vimandwireshark/wireshark:I'm still trying to create test cases for these; the LGTM console is less than helpful.
The merge conflict is with #1647 and is trivial to resolve.