@@ -619,11 +619,11 @@ module API {
619619 cached
620620 predicate use ( TApiNode nd , DataFlow:: Node ref ) {
621621 exists ( string m , Module mod | nd = MkModuleDef ( m ) and mod = importableModule ( m ) |
622- ref .( ModuleAsSourceNode ) .getModule ( ) = mod
622+ ref .( ModuleVarNode ) .getModule ( ) = mod
623623 )
624624 or
625625 exists ( string m , Module mod | nd = MkModuleExport ( m ) and mod = importableModule ( m ) |
626- ref .( ExportsAsSourceNode ) .getModule ( ) = mod
626+ ref .( ExportsVarNode ) .getModule ( ) = mod
627627 or
628628 exists ( DataFlow:: Node base | use ( MkModuleDef ( m ) , base ) |
629629 ref = trackUseNode ( base ) .getAPropertyRead ( "exports" )
@@ -746,9 +746,9 @@ module API {
746746 or
747747 // additional backwards step from `require('m')` to `exports` or `module.exports` in m
748748 exists ( Import imp | imp .getImportedModuleNode ( ) = trackDefNode ( nd , t .continue ( ) ) |
749- result .( ExportsAsSourceNode ) .getModule ( ) = imp .getImportedModule ( )
749+ result .( ExportsVarNode ) .getModule ( ) = imp .getImportedModule ( )
750750 or
751- exists ( ModuleAsSourceNode mod |
751+ exists ( ModuleVarNode mod |
752752 mod .getModule ( ) = imp .getImportedModule ( ) and
753753 result = mod .( DataFlow:: SourceNode ) .getAPropertyRead ( "exports" )
754754 )
@@ -983,13 +983,21 @@ private module Label {
983983 string promised ( ) { result = "promised" }
984984}
985985
986+ private class NodeModuleSourcesNodes extends DataFlow:: SourceNode:: Range {
987+ NodeModuleSourcesNodes ( ) {
988+ exists ( NodeModule m |
989+ this = DataFlow:: ssaDefinitionNode ( SSA:: implicitInit ( [ m .getModuleVariable ( ) , m .getExportsVariable ( ) ] ) )
990+ )
991+ }
992+ }
993+
986994/**
987- * A CommonJS/AMD `module` variable, considered as a source node .
995+ * A CommonJS/AMD `module` variable.
988996 */
989- private class ModuleAsSourceNode extends DataFlow:: SourceNode :: Range {
997+ private class ModuleVarNode extends DataFlow:: Node {
990998 Module m ;
991999
992- ModuleAsSourceNode ( ) {
1000+ ModuleVarNode ( ) {
9931001 this = DataFlow:: ssaDefinitionNode ( SSA:: implicitInit ( m .( NodeModule ) .getModuleVariable ( ) ) )
9941002 or
9951003 DataFlow:: parameterNode ( this , m .( AmdModule ) .getDefine ( ) .getModuleParameter ( ) )
@@ -999,12 +1007,12 @@ private class ModuleAsSourceNode extends DataFlow::SourceNode::Range {
9991007}
10001008
10011009/**
1002- * A CommonJS/AMD `exports` variable, considered as a source node .
1010+ * A CommonJS/AMD `exports` variable.
10031011 */
1004- private class ExportsAsSourceNode extends DataFlow:: SourceNode :: Range {
1012+ private class ExportsVarNode extends DataFlow:: Node {
10051013 Module m ;
10061014
1007- ExportsAsSourceNode ( ) {
1015+ ExportsVarNode ( ) {
10081016 this = DataFlow:: ssaDefinitionNode ( SSA:: implicitInit ( m .( NodeModule ) .getExportsVariable ( ) ) )
10091017 or
10101018 DataFlow:: parameterNode ( this , m .( AmdModule ) .getDefine ( ) .getExportsParameter ( ) )
0 commit comments