From 94b7bda3dcbec3beec45d8dc7ef4eb7834fbb50d Mon Sep 17 00:00:00 2001 From: erik-krogh Date: Tue, 6 Feb 2024 09:36:30 +0100 Subject: [PATCH] exclude tagged template literals from `js/superfluous-trailing-arguments` --- .../ql/src/LanguageFeatures/SpuriousArguments.ql | 3 ++- .../LanguageFeatures/SpuriousArguments/tst.js | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql b/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql index de8f248d2d4..fd3914c9023 100644 --- a/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql +++ b/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql @@ -46,7 +46,8 @@ class SpuriousArguments extends Expr { SpuriousArguments() { this = invk.getArgument(maxArity(invk)).asExpr() and - not invk.isIncomplete() + not invk.isIncomplete() and + not invk.getAstNode() instanceof TaggedTemplateExpr } /** diff --git a/javascript/ql/test/query-tests/LanguageFeatures/SpuriousArguments/tst.js b/javascript/ql/test/query-tests/LanguageFeatures/SpuriousArguments/tst.js index 13877ff1dda..1caa88564a1 100644 --- a/javascript/ql/test/query-tests/LanguageFeatures/SpuriousArguments/tst.js +++ b/javascript/ql/test/query-tests/LanguageFeatures/SpuriousArguments/tst.js @@ -129,4 +129,13 @@ function sum2() { } // OK -sum2(1, 2, 3); \ No newline at end of file +sum2(1, 2, 3); + +const $ = function (x, arr) { + console.log(x, arr); +}; + +// OK +async function tagThing(repoUrl, directory) { + await $`git clone ${repoUrl} ${directory}`; +}