From fac638ffabe57fbd615729bf364cb007426fbee4 Mon Sep 17 00:00:00 2001 From: Esben Sparre Andreasen Date: Tue, 11 Dec 2018 14:16:57 +0100 Subject: [PATCH] JS: improve alert location of js/angular/unused-dependency --- javascript/ql/src/AngularJS/UnusedAngularDependency.ql | 3 ++- .../UnusedAngularDependency/UnusedAngularDependency.expected | 1 + .../UnusedAngularDependency/unused-angular-dependency.js | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/javascript/ql/src/AngularJS/UnusedAngularDependency.ql b/javascript/ql/src/AngularJS/UnusedAngularDependency.ql index c245dc5a48b..580beff0323 100644 --- a/javascript/ql/src/AngularJS/UnusedAngularDependency.ql +++ b/javascript/ql/src/AngularJS/UnusedAngularDependency.ql @@ -11,6 +11,7 @@ import javascript import Declarations.UnusedParameter +import semmle.javascript.RestrictedLocations predicate isUnusedParameter(Function f, string msg, Parameter parameter) { exists(Variable pv | @@ -36,4 +37,4 @@ predicate isMissingParameter(AngularJS::InjectableFunction f, string msg, ASTNod from AngularJS::InjectableFunction f, string message, ASTNode location where isUnusedParameter(f.asFunction(), message, location) or isMissingParameter(f, message, location) -select location, message +select (FirstLineOf)location, message diff --git a/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/UnusedAngularDependency.expected b/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/UnusedAngularDependency.expected index 13d44d0314c..d5b4c267c39 100644 --- a/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/UnusedAngularDependency.expected +++ b/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/UnusedAngularDependency.expected @@ -2,3 +2,4 @@ | unused-angular-dependency.js:14:14:14:39 | ["unuse ... n() {}] | This function has 0 parameters, but 1 dependency is injected into it. | | unused-angular-dependency.js:16:14:16:53 | ["used2 ... d2) {}] | This function has 1 parameter, but 2 dependencies are injected into it. | | unused-angular-dependency.js:17:14:17:52 | ["unuse ... n() {}] | This function has 0 parameters, but 2 dependencies are injected into it. | +| unused-angular-dependency.js:18:14:18:105 | ["used2 ... }] | This function has 1 parameter, but 2 dependencies are injected into it. | diff --git a/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/unused-angular-dependency.js b/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/unused-angular-dependency.js index c8c0c9f38a4..f35cc62947e 100644 --- a/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/unused-angular-dependency.js +++ b/javascript/ql/test/query-tests/AngularJS/UnusedAngularDependency/unused-angular-dependency.js @@ -15,6 +15,8 @@ .run(f2) .run(["used2", "unused9", function(used2) {}]) // NOT OK .run(["unused10", "unused11", function() {}]) // NOT OK + .run(["used2", "unused12", function(used2) { // NOT OK (alert formatting for multi-line function) + }]) ; })(); angular.module('app2')