This commit strengthens the contract for the restrictAlertsTo and the
restrictAlertsToExactLocation extensible predicates.
- restrictAlertsTo is now documented to match any alert location that
intersects with a specified line range. (Previously an alert location
matches only when its first line is in a specified line range.)
- restrictAlertsToExactLocation is now documented to match any alert
location that wholly contains a specific character range. (Previously
an alert location matchis only when it is exactly the same as a
specified character range.)
It also contains misc wording changes for clarity.
The documentation is now up-to-date with the new and more relaxed rules
that allow overapproximating the results. I have also attempted to make
a clearer distinction between the requirements of the specification and
the behaviour of the implementation.
It's better to join with the range expression first since that will only
multiply tuple counts by the number of lines in an average source/sink.
Joining with `restrictAlertsToStartLine` first would multiply tuple
counts by the number of sources/sinks in a given file.