Thanks to visit codestin.com Credit goes to github.com
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent d1607f7 commit c8823faCopy full SHA for c8823fa
1 file changed
javascript/ql/src/semmle/javascript/Closure.qll
@@ -68,7 +68,14 @@ module Closure {
68
* A module using the Closure module system, declared using `goog.module()` or `goog.declareModuleId()`.
69
*/
70
class ClosureModule extends Module {
71
- ClosureModule() { any(ClosureModuleDeclaration decl).getTopLevel() = this }
+ ClosureModule() {
72
+ // Use AST-based predicate to cut recursive dependencies.
73
+ exists(MethodCallExpr call |
74
+ getAStmt().(ExprStmt).getExpr() = call and
75
+ call.getReceiver().(GlobalVarAccess).getName() = "goog" and
76
+ (call.getMethodName() = "module" or call.getMethodName() = "declareModuleId")
77
+ )
78
+ }
79
80
/**
81
* Gets the call to `goog.module` or `goog.declareModuleId` in this module.
0 commit comments