Skip to content

Commit b5bbf99

Browse files
author
Esben Sparre Andreasen
committed
JS: improve alert location of js/angular/repeated-dependency-injection
1 parent 5acd1ca commit b5bbf99

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

javascript/ql/src/AngularJS/RepeatedInjection.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
*/
1111

1212
import javascript
13+
import semmle.javascript.RestrictedLocations
1314

1415
from AngularJS::InjectableFunction f, ASTNode explicitInjection
1516
where count(f.getAnExplicitDependencyInjection()) > 1 and
1617
explicitInjection = f.getAnExplicitDependencyInjection()
17-
select f.asFunction(), "This function has $@ defined in multiple places.", explicitInjection, "dependency injections"
18+
select (FirstLineOf)f.asFunction(), "This function has $@ defined in multiple places.", explicitInjection, "dependency injections"

javascript/ql/test/query-tests/AngularJS/RepeatedInjection/RepeatedInjection.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
| repeated-injection.js:6:5:6:31 | functio ... name){} | This function has $@ defined in multiple places. | repeated-injection.js:8:54:8:73 | ['name', $Injected2] | dependency injections |
33
| repeated-injection.js:10:5:10:31 | functio ... name){} | This function has $@ defined in multiple places. | repeated-injection.js:11:5:11:22 | $Injected3.$inject | dependency injections |
44
| repeated-injection.js:10:5:10:31 | functio ... name){} | This function has $@ defined in multiple places. | repeated-injection.js:12:5:12:22 | $Injected3.$inject | dependency injections |
5+
| repeated-injection.js:33:5:33:84 | functio ... )\\n } | This function has $@ defined in multiple places. | repeated-injection.js:35:5:35:23 | $Injected10.$inject | dependency injections |
6+
| repeated-injection.js:33:5:33:84 | functio ... )\\n } | This function has $@ defined in multiple places. | repeated-injection.js:36:56:36:76 | ['name' ... cted10] | dependency injections |

javascript/ql/test/query-tests/AngularJS/RepeatedInjection/repeated-injection.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,9 @@
3030

3131
angular.module('app9').controller('controller9', ['name', function inline9(name){}]); // OK
3232

33+
function $Injected10(name){ // NOT OK (alert formatting for multi-line function)
34+
}
35+
$Injected10.$inject = ['name'];
36+
angular.module('app10').controller('controller10', ['name', $Injected10]);
37+
3338
})();

0 commit comments

Comments
 (0)