mirror of
https://github.com/github/codeql.git
synced 2026-04-30 19:26:02 +02:00
Merge pull request #9354 from erik-krogh/jsStages
JS: collapse a few small stages
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
import javascript
|
||||
private import NodeModuleResolutionImpl
|
||||
private import semmle.javascript.DynamicPropertyAccess as DynamicPropertyAccess
|
||||
private import semmle.javascript.internal.CachedStages
|
||||
|
||||
/**
|
||||
* A Node.js module.
|
||||
@@ -113,6 +114,7 @@ class NodeModule extends Module {
|
||||
}
|
||||
|
||||
override DataFlow::Node getABulkExportedNode() {
|
||||
Stages::Imports::ref() and
|
||||
exists(DataFlow::PropWrite write |
|
||||
write.getBase().asExpr() = this.getModuleVariable().getAnAccess() and
|
||||
write.getPropertyName() = "exports" and
|
||||
|
||||
@@ -176,6 +176,8 @@ module Stages {
|
||||
exists(DataFlow::moduleImport(_))
|
||||
or
|
||||
exists(any(ReExportDeclaration d).getReExportedModule())
|
||||
or
|
||||
exists(any(Module m).getABulkExportedNode())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,6 +278,9 @@ module Stages {
|
||||
.getInstance()
|
||||
.getReceiver()
|
||||
.getPromisedError()
|
||||
.getADecoratedClass()
|
||||
.getADecoratedMember()
|
||||
.getADecoratedParameter()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user