mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
JS: Add discard predicates for locations
This commit is contained in:
@@ -28,3 +28,23 @@ overlay[discard_entity]
|
||||
private predicate discardEntity(@locatable node) {
|
||||
exists(string file | discardableEntity(file, node) and discardFile(file))
|
||||
}
|
||||
|
||||
overlay[local]
|
||||
private string getFileFromLocation(@location loc) {
|
||||
exists(@file file |
|
||||
locations_default(loc, file, _, _, _, _) and
|
||||
files(file, result)
|
||||
)
|
||||
}
|
||||
|
||||
/** Holds if `loc` is in the `file` and is part of the overlay base database. */
|
||||
overlay[local]
|
||||
private predicate discardableLocation(string file, @location node) {
|
||||
not isOverlay() and file = getFileFromLocation(node)
|
||||
}
|
||||
|
||||
/** Holds if `loc` should be discarded, because it is part of the overlay base and is in a file that was also extracted as part of the overlay database. */
|
||||
overlay[discard_entity]
|
||||
private predicate discardLocation(@location loc) {
|
||||
exists(string file | discardableLocation(file, loc) and discardFile(file))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user