34
34
import com .google .javascript .rhino .InputId ;
35
35
import com .google .javascript .rhino .JSDocInfo ;
36
36
import com .google .javascript .rhino .Node ;
37
- import com .google .javascript .rhino .QualifiedName ;
38
37
import com .google .javascript .rhino .StaticSourceFile .SourceKind ;
39
38
import java .io .IOException ;
40
39
import java .util .ArrayList ;
@@ -421,9 +420,6 @@ void visitTree(Node n) {
421
420
}
422
421
}
423
422
424
- private static final QualifiedName GOOG_DECLAREMODULEID =
425
- QualifiedName .of ("goog.declareModuleId" );
426
-
427
423
void visitSubtree (Node n , @ Nullable Node parent ) {
428
424
switch (n .getToken ()) {
429
425
case CALL :
@@ -467,18 +463,16 @@ void visitSubtree(Node n, @Nullable Node parent) {
467
463
n = argument .getLastChild ();
468
464
break ;
469
465
466
+ case "declareModuleId" :
467
+ if (!argument .isStringLit ()) {
468
+ return ;
469
+ }
470
+ provides .add (argument .getString ());
471
+ break ;
472
+
470
473
default :
471
474
return ;
472
475
}
473
- } else if (parent .isGetProp ()
474
- // TODO(johnplaisted): Consolidate on declareModuleId
475
- && GOOG_DECLAREMODULEID .matches (parent )
476
- && parent .getParent ().isCall ()) {
477
- Node argument = parent .getParent ().getSecondChild ();
478
- if (!argument .isStringLit ()) {
479
- return ;
480
- }
481
- provides .add (argument .getString ());
482
476
}
483
477
break ;
484
478
@@ -499,20 +493,20 @@ void visitSubtree(Node n, @Nullable Node parent) {
499
493
}
500
494
return ;
501
495
502
- case VAR :
503
- if (n .getFirstChild ().matchesName ("goog" )
504
- && NodeUtil .isNamespaceDecl (n .getFirstChild ())) {
505
- provides .add ("goog" );
506
- }
507
- break ;
508
-
509
496
case EXPR_RESULT :
510
497
case CONST :
498
+ case LET :
499
+ case VAR :
511
500
case BLOCK :
512
- case SCRIPT :
513
501
case NAME :
514
502
case DESTRUCTURING_LHS :
515
- case LET :
503
+ break ;
504
+
505
+ case SCRIPT :
506
+ JSDocInfo jsdoc = n .getJSDocInfo ();
507
+ if (jsdoc != null && jsdoc .isProvideGoog ()) {
508
+ provides .add ("goog" );
509
+ }
516
510
break ;
517
511
518
512
default :
0 commit comments