Skip to content

Commit 6a6a63e

Browse files
authored
Merge pull request github#9354 from erik-krogh/jsStages
JS: collapse a few small stages
2 parents b1faba9 + 8c12a72 commit 6a6a63e

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

javascript/ql/lib/semmle/javascript/NodeJS.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import javascript
44
private import NodeModuleResolutionImpl
55
private import semmle.javascript.DynamicPropertyAccess as DynamicPropertyAccess
6+
private import semmle.javascript.internal.CachedStages
67

78
/**
89
* A Node.js module.
@@ -113,6 +114,7 @@ class NodeModule extends Module {
113114
}
114115

115116
override DataFlow::Node getABulkExportedNode() {
117+
Stages::Imports::ref() and
116118
exists(DataFlow::PropWrite write |
117119
write.getBase().asExpr() = this.getModuleVariable().getAnAccess() and
118120
write.getPropertyName() = "exports" and

javascript/ql/lib/semmle/javascript/internal/CachedStages.qll

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ module Stages {
176176
exists(DataFlow::moduleImport(_))
177177
or
178178
exists(any(ReExportDeclaration d).getReExportedModule())
179+
or
180+
exists(any(Module m).getABulkExportedNode())
179181
}
180182
}
181183

@@ -276,6 +278,9 @@ module Stages {
276278
.getInstance()
277279
.getReceiver()
278280
.getPromisedError()
281+
.getADecoratedClass()
282+
.getADecoratedMember()
283+
.getADecoratedParameter()
279284
)
280285
}
281286
}

0 commit comments

Comments
 (0)