Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 23bd9e6

Browse files
committed
JS: Add ClosureNamespaceAccess
1 parent 939eab2 commit 23bd9e6

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

javascript/ql/src/semmle/javascript/Closure.qll

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ module Closure {
1515
abstract string getClosureNamespace();
1616
}
1717

18+
/**
19+
* A dataflow node that returns the value of a closure namespace.
20+
*/
21+
abstract class ClosureNamespaceAccess extends ClosureNamespaceRef, DataFlow::SourceNode { }
22+
1823
/**
1924
* A call to a method on the `goog.` namespace, as a closure reference.
2025
*/
@@ -44,7 +49,7 @@ module Closure {
4449
/**
4550
* A call to `goog.require`.
4651
*/
47-
class ClosureRequireCall extends DefaultNamespaceRef {
52+
class ClosureRequireCall extends DefaultNamespaceRef, ClosureNamespaceAccess {
4853
ClosureRequireCall() { getMethodName() = "require" }
4954
}
5055

@@ -172,7 +177,7 @@ module Closure {
172177
result = getWrittenLibraryAccessPath(write)
173178
)
174179
or
175-
result = node.(ClosureRequireCall).getClosureNamespace()
180+
result = node.(ClosureNamespaceAccess).getClosureNamespace()
176181
}
177182

178183
/**

0 commit comments

Comments
 (0)