JavaScript: Avoid unhelpful magic.

The constraint `exists(callback.getParameter(i))` was getting pushed into `higherOrderCall`, which isn't a bad thing to do. However, this then led to a join on `i`, which is a very bad thing to do.
This commit is contained in:
Max Schaefer 2019-06-28 16:39:21 +01:00
Родитель b5b89c0eac
Коммит 895055f30e
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -838,6 +838,7 @@ private predicate summarizedHigherOrderCall(
* - The flow label mapping of the summary corresponds to the transformation from `arg` to the
* invocation of the callback.
*/
pragma[nomagic]
private predicate higherOrderCall(
DataFlow::Node arg, DataFlow::SourceNode callback, int i, DataFlow::Configuration cfg,
PathSummary summary