-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Definitions: Only emit links for canonical type mentions #240
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
Conversation
cpp/ql/src/definitions.qll
Outdated
| kind = "T" and | ||
| TypeMentions::isCanonical(e) and | ||
| e.(TypeMention).getMentionedType() = result and | ||
| not result instanceof ClassTemplateInstantiation and |
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.
This line seems unrelated.
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.
|
Test failure in @pavgust, these look like valid rows that are removed and are not replaced by anything else. |
|
As discussed, we'll handle this differently. |
…matting-todos TRAP formatting: adopt Java's standards
Sync Main (autogenerated)
In 1.17, we could emit many logically indistinguishable type mentions for the same type/location where a file was processed in many different contexts. On very large projects, this can lead to an inflation in the number of definitions links that are emitted.
With this change, we'll pick a canonical type mention for each location/type pair, and only emit link information for that.