mirror of
https://github.com/github/codeql.git
synced 2026-04-28 18:25:24 +02:00
JS: Add ClosureNamespaceAccess
This commit is contained in:
@@ -15,6 +15,11 @@ module Closure {
|
||||
abstract string getClosureNamespace();
|
||||
}
|
||||
|
||||
/**
|
||||
* A dataflow node that returns the value of a closure namespace.
|
||||
*/
|
||||
abstract class ClosureNamespaceAccess extends ClosureNamespaceRef, DataFlow::SourceNode { }
|
||||
|
||||
/**
|
||||
* A call to a method on the `goog.` namespace, as a closure reference.
|
||||
*/
|
||||
@@ -44,7 +49,7 @@ module Closure {
|
||||
/**
|
||||
* A call to `goog.require`.
|
||||
*/
|
||||
class ClosureRequireCall extends DefaultNamespaceRef {
|
||||
class ClosureRequireCall extends DefaultNamespaceRef, ClosureNamespaceAccess {
|
||||
ClosureRequireCall() { getMethodName() = "require" }
|
||||
}
|
||||
|
||||
@@ -172,7 +177,7 @@ module Closure {
|
||||
result = getWrittenLibraryAccessPath(write)
|
||||
)
|
||||
or
|
||||
result = node.(ClosureRequireCall).getClosureNamespace()
|
||||
result = node.(ClosureNamespaceAccess).getClosureNamespace()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user