Skip to content

Commit b29b3df

Browse files
author
Max Schaefer
committed
JavaScript: Use proper camel-case for AMD-related class names.
1 parent d541bd5 commit b29b3df

21 files changed

+36
-26
lines changed

javascript/ql/src/Declarations/TooManyParameters.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ where
1717
not f.inExternsFile() and
1818
f.getNumParameter() > 7 and
1919
// exclude AMD modules
20-
not exists(AMDModuleDefinition m | f = m.getFactoryNode().(DataFlow::FunctionNode).getAstNode())
20+
not exists(AmdModuleDefinition m | f = m.getFactoryNode().(DataFlow::FunctionNode).getAstNode())
2121
select f.(FirstLineOf),
2222
capitalize(f.describe()) + " has too many parameters (" + f.getNumParameter() + ")."

javascript/ql/src/semmle/javascript/AMD.qll

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ import javascript
2323
* where the first argument is the module name, the second argument an
2424
* array of dependencies, and the third argument a factory method or object.
2525
*/
26-
class AMDModuleDefinition extends CallExpr {
27-
AMDModuleDefinition() {
26+
class AmdModuleDefinition extends CallExpr {
27+
AmdModuleDefinition() {
2828
getParent() instanceof ExprStmt and
2929
getCallee().(GlobalVarAccess).getName() = "define" and
3030
exists(int n | n = getNumArgument() |
@@ -153,7 +153,7 @@ class AMDModuleDefinition extends CallExpr {
153153
result = getModuleExpr().analyze().getAValue()
154154
or
155155
// explicit exports: anything assigned to `module.exports`
156-
exists(AbstractProperty moduleExports, AMDModule m |
156+
exists(AbstractProperty moduleExports, AmdModule m |
157157
this = m.getDefine() and
158158
moduleExports.getBase().(AbstractModuleObject).getModule() = m and
159159
moduleExports.getPropertyName() = "exports"
@@ -170,10 +170,15 @@ class AMDModuleDefinition extends CallExpr {
170170
}
171171
}
172172

173+
/**
174+
* DEPRECATED: Use `AmdModuleDefinition` instead.
175+
*/
176+
deprecated class AMDModuleDefinition = AmdModuleDefinition;
177+
173178
/** An AMD dependency, considered as a path expression. */
174179
private class AmdDependencyPath extends PathExprCandidate {
175180
AmdDependencyPath() {
176-
exists(AMDModuleDefinition amd |
181+
exists(AmdModuleDefinition amd |
177182
this = amd.getDependencies().getAnElement() or
178183
this = amd.getARequireCall().getAnArgument()
179184
)
@@ -191,21 +196,21 @@ private class ConstantAmdDependencyPathElement extends PathExprInModule, Constan
191196
* Holds if `def` is an AMD module definition in `tl` which is not
192197
* nested inside another module definition.
193198
*/
194-
private predicate amdModuleTopLevel(AMDModuleDefinition def, TopLevel tl) {
199+
private predicate amdModuleTopLevel(AmdModuleDefinition def, TopLevel tl) {
195200
def.getTopLevel() = tl and
196-
not def.getParent+() instanceof AMDModuleDefinition
201+
not def.getParent+() instanceof AmdModuleDefinition
197202
}
198203

199204
/**
200205
* An AMD dependency, viewed as an import.
201206
*/
202207
private class AmdDependencyImport extends Import {
203208
AmdDependencyImport() {
204-
this = any(AMDModuleDefinition def).getADependency()
209+
this = any(AmdModuleDefinition def).getADependency()
205210
}
206211

207212
override Module getEnclosingModule() {
208-
this = result.(AMDModule).getDefine().getADependency()
213+
this = result.(AmdModule).getDefine().getADependency()
209214
}
210215

211216
override PathExpr getImportedPath() {
@@ -216,11 +221,11 @@ private class AmdDependencyImport extends Import {
216221
/**
217222
* An AMD-style module.
218223
*/
219-
class AMDModule extends Module {
220-
AMDModule() { strictcount(AMDModuleDefinition def | amdModuleTopLevel(def, this)) = 1 }
224+
class AmdModule extends Module {
225+
AmdModule() { strictcount(AmdModuleDefinition def | amdModuleTopLevel(def, this)) = 1 }
221226

222227
/** Gets the definition of this module. */
223-
AMDModuleDefinition getDefine() { amdModuleTopLevel(result, this) }
228+
AmdModuleDefinition getDefine() { amdModuleTopLevel(result, this) }
224229

225230
override predicate exports(string name, ASTNode export) {
226231
exists(DataFlow::PropWrite pwn | export = pwn.getAstNode() |
@@ -229,3 +234,8 @@ class AMDModule extends Module {
229234
)
230235
}
231236
}
237+
238+
/**
239+
* DEPRECATED: Use `AmdModule` instead.
240+
*/
241+
deprecated class AMDModule = AmdModule;

javascript/ql/src/semmle/javascript/dataflow/Nodes.qll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,12 +472,12 @@ module ModuleImportNode {
472472
)
473473
or
474474
// declared AMD dependency
475-
exists(AMDModuleDefinition amd |
475+
exists(AmdModuleDefinition amd |
476476
this = DataFlow::parameterNode(amd.getDependencyParameter(path))
477477
)
478478
or
479479
// AMD require
480-
exists(AMDModuleDefinition amd, CallExpr req |
480+
exists(AmdModuleDefinition amd, CallExpr req |
481481
req = amd.getARequireCall() and
482482
this = DataFlow::valueNode(req) and
483483
path = req.getArgument(0).(ConstantString).getStringValue()

javascript/ql/src/semmle/javascript/dataflow/internal/InterModuleTypeInference.qll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ private predicate mayDynamicallyComputeExports(Module m) {
6161
or
6262
// AMD modules can export arbitrary objects, so an import is essentially a property read
6363
// and hence must be considered indefinite
64-
m instanceof AMDModule
64+
m instanceof AmdModule
6565
or
6666
// `m` re-exports all exports of some other module that dynamically computes its exports
6767
exists(BulkReExportDeclaration rexp | rexp = m.(ES2015Module).getAnExport() |
@@ -229,7 +229,7 @@ class AnalyzedExternalModuleReference extends AnalyzedPropertyRead, DataFlow::Va
229229
* Flow analysis for AMD exports.
230230
*/
231231
private class AnalyzedAmdExport extends AnalyzedPropertyWrite, DataFlow::ValueNode {
232-
AMDModule amd;
232+
AmdModule amd;
233233

234234
AnalyzedAmdExport() { astNode = amd.getDefine().getModuleExpr() }
235235

@@ -248,7 +248,7 @@ private class AnalyzedAmdImport extends AnalyzedPropertyRead, DataFlow::Node {
248248
Module required;
249249

250250
AnalyzedAmdImport() {
251-
exists(AMDModule amd, PathExpr dep, Parameter p |
251+
exists(AmdModule amd, PathExpr dep, Parameter p |
252252
amd.getDefine().dependencyParameter(dep, p) and
253253
this = DataFlow::parameterNode(p) and
254254
required.getFile() = amd.resolve(dep)

javascript/ql/src/semmle/javascript/dataflow/internal/VariableTypeInference.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ private class AnalyzedAmdParameter extends AnalyzedVarDef {
180180
AbstractValue implicitInitVal;
181181

182182
AnalyzedAmdParameter() {
183-
exists(AMDModule m, AMDModuleDefinition mdef | mdef = m.getDefine() |
183+
exists(AmdModule m, AmdModuleDefinition mdef | mdef = m.getDefine() |
184184
this = mdef.getModuleParameter() and
185185
implicitInitVal = TAbstractModuleObject(m)
186186
or

javascript/ql/src/semmle/javascript/security/dataflow/TaintedPath.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ module TaintedPath {
5757
ModulePathSink() {
5858
astNode = any(Require rq).getArgument(0) or
5959
astNode = any(ExternalModuleReference rq).getExpression() or
60-
astNode = any(AMDModuleDefinition amd).getDependencies()
60+
astNode = any(AmdModuleDefinition amd).getDependencies()
6161
}
6262
}
6363

javascript/ql/test/library-tests/AMD/AMDModule.expected renamed to javascript/ql/test/library-tests/AMD/AmdModule.expected

File renamed without changes.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import javascript
22

3-
from AMDModule m
3+
from AmdModule m
44
select m, m.getDefine()

javascript/ql/test/library-tests/AMD/AMDModuleDefinition.expected renamed to javascript/ql/test/library-tests/AMD/AmdModuleDefinition.expected

File renamed without changes.

javascript/ql/test/library-tests/AMD/AMDModuleDefinition.ql renamed to javascript/ql/test/library-tests/AMD/AmdModuleDefinition.ql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
import javascript
22

3-
from AMDModuleDefinition d
3+
from AmdModuleDefinition d
44
select d, d.getFactoryNode()

0 commit comments

Comments
 (0)