@@ -32,14 +32,14 @@ module Closure {
3232 /**
3333 * A reference to a Closure namespace.
3434 */
35- class ClosureNamespaceRef extends DataFlow:: Node instanceof ClosureNamespaceRef:: Range {
35+ deprecated class ClosureNamespaceRef extends DataFlow:: Node instanceof ClosureNamespaceRef:: Range {
3636 /**
3737 * Gets the namespace being referenced.
3838 */
3939 string getClosureNamespace ( ) { result = super .getClosureNamespace ( ) }
4040 }
4141
42- module ClosureNamespaceRef {
42+ deprecated module ClosureNamespaceRef {
4343 /**
4444 * A reference to a Closure namespace.
4545 *
@@ -56,10 +56,10 @@ module Closure {
5656 /**
5757 * A data flow node that returns the value of a closure namespace.
5858 */
59- class ClosureNamespaceAccess extends ClosureNamespaceRef instanceof ClosureNamespaceAccess:: Range {
60- }
59+ deprecated class ClosureNamespaceAccess extends ClosureNamespaceRef instanceof ClosureNamespaceAccess:: Range
60+ { }
6161
62- module ClosureNamespaceAccess {
62+ deprecated module ClosureNamespaceAccess {
6363 /**
6464 * A data flow node that returns the value of a closure namespace.
6565 *
@@ -71,7 +71,7 @@ module Closure {
7171 /**
7272 * A call to a method on the `goog.` namespace, as a closure reference.
7373 */
74- abstract private class DefaultNamespaceRef extends DataFlow:: MethodCallNode ,
74+ abstract deprecated private class DefaultNamespaceRef extends DataFlow:: MethodCallNode ,
7575 ClosureNamespaceRef:: Range
7676 {
7777 DefaultNamespaceRef ( ) { this = DataFlow:: globalVarRef ( "goog" ) .getAMethodCall ( ) }
@@ -83,14 +83,14 @@ module Closure {
8383 * Holds if `node` is the data flow node corresponding to the expression in
8484 * a top-level expression statement.
8585 */
86- private predicate isTopLevelExpr ( DataFlow:: Node node ) {
86+ deprecated private predicate isTopLevelExpr ( DataFlow:: Node node ) {
8787 any ( TopLevel tl ) .getAChildStmt ( ) .( ExprStmt ) .getExpr ( ) .flow ( ) = node
8888 }
8989
9090 /**
9191 * A top-level call to `goog.provide`.
9292 */
93- private class DefaultClosureProvideCall extends DefaultNamespaceRef {
93+ deprecated private class DefaultClosureProvideCall extends DefaultNamespaceRef {
9494 DefaultClosureProvideCall ( ) {
9595 this .getMethodName ( ) = "provide" and
9696 isTopLevelExpr ( this )
@@ -100,27 +100,28 @@ module Closure {
100100 /**
101101 * A top-level call to `goog.provide`.
102102 */
103- class ClosureProvideCall extends ClosureNamespaceRef , DataFlow:: MethodCallNode instanceof DefaultClosureProvideCall
103+ deprecated class ClosureProvideCall extends ClosureNamespaceRef , DataFlow:: MethodCallNode instanceof DefaultClosureProvideCall
104104 { }
105105
106106 /**
107107 * A call to `goog.require`.
108108 */
109- private class DefaultClosureRequireCall extends DefaultNamespaceRef , ClosureNamespaceAccess:: Range
109+ deprecated private class DefaultClosureRequireCall extends DefaultNamespaceRef ,
110+ ClosureNamespaceAccess:: Range
110111 {
111112 DefaultClosureRequireCall ( ) { this .getMethodName ( ) = "require" }
112113 }
113114
114115 /**
115116 * A call to `goog.require`.
116117 */
117- class ClosureRequireCall extends ClosureNamespaceAccess , DataFlow:: MethodCallNode instanceof DefaultClosureRequireCall
118+ deprecated class ClosureRequireCall extends ClosureNamespaceAccess , DataFlow:: MethodCallNode instanceof DefaultClosureRequireCall
118119 { }
119120
120121 /**
121122 * A top-level call to `goog.module` or `goog.declareModuleId`.
122123 */
123- private class DefaultClosureModuleDeclaration extends DefaultNamespaceRef {
124+ deprecated private class DefaultClosureModuleDeclaration extends DefaultNamespaceRef {
124125 DefaultClosureModuleDeclaration ( ) {
125126 ( this .getMethodName ( ) = "module" or this .getMethodName ( ) = "declareModuleId" ) and
126127 isTopLevelExpr ( this )
@@ -130,7 +131,7 @@ module Closure {
130131 /**
131132 * A top-level call to `goog.module` or `goog.declareModuleId`.
132133 */
133- class ClosureModuleDeclaration extends ClosureNamespaceRef , DataFlow:: MethodCallNode instanceof DefaultClosureModuleDeclaration
134+ deprecated class ClosureModuleDeclaration extends ClosureNamespaceRef , DataFlow:: MethodCallNode instanceof DefaultClosureModuleDeclaration
134135 { }
135136
136137 pragma [ noinline]
@@ -193,7 +194,7 @@ module Closure {
193194 * A global Closure script, that is, a toplevel that is executed in the global scope and
194195 * contains a toplevel call to `goog.provide` or `goog.require`.
195196 */
196- class ClosureScript extends TopLevel {
197+ deprecated class ClosureScript extends TopLevel {
197198 ClosureScript ( ) {
198199 not this instanceof ClosureModule and
199200 (
@@ -225,7 +226,13 @@ module Closure {
225226 */
226227 pragma [ noinline]
227228 predicate isClosureNamespace ( string name ) {
228- exists ( string namespace | namespace = any ( ClosureNamespaceRef ref ) .getClosureNamespace ( ) |
229+ exists ( string namespace |
230+ namespace =
231+ [
232+ any ( RequireCallExpr ref ) .getClosureNamespace ( ) ,
233+ any ( ModuleDeclarationCall c ) .getClosureNamespace ( )
234+ ]
235+ |
229236 name = namespace .substring ( 0 , namespace .indexOf ( "." ) )
230237 or
231238 name = namespace
0 commit comments