@@ -83,26 +83,23 @@ DataFlow::Node getAValueExportedByPackage() {
83
83
)
84
84
or
85
85
// Object.defineProperty
86
- exists ( DataFlow:: MethodCallNode call |
87
- call = DataFlow:: globalVarRef ( "Object" ) .getAMethodCall ( "defineProperty" ) and
88
- [ call , call .getArgument ( 0 ) ] = getAValueExportedByPackage ( )
86
+ exists ( CallToObjectDefineProperty call |
87
+ [ call , call .getBaseObject ( ) ] = getAValueExportedByPackage ( )
89
88
|
90
- result = call .getArgument ( 2 ) .getALocalSource ( ) .getAPropertyReference ( "value" )
89
+ result = call .getPropertyDescriptor ( ) .getALocalSource ( ) .getAPropertyReference ( "value" )
91
90
or
92
91
result =
93
- call .getArgument ( 2 )
92
+ call .getPropertyDescriptor ( )
94
93
.getALocalSource ( )
95
94
.getAPropertyReference ( "get" )
96
95
.( DataFlow:: FunctionNode )
97
96
.getAReturn ( )
98
97
)
99
98
or
100
99
// Object.assign
101
- exists ( DataFlow:: MethodCallNode assign |
102
- assign = DataFlow:: globalVarRef ( "Object" ) .getAMethodCall ( "assign" )
103
- |
104
- getAValueExportedByPackage ( ) = [ assign , assign .getArgument ( 0 ) ] and
105
- result = assign .getAnArgument ( )
100
+ exists ( ExtendCall assign |
101
+ getAValueExportedByPackage ( ) = [ assign , assign .getDestinationOperand ( ) ] and
102
+ result = assign .getASourceOperand ( )
106
103
)
107
104
or
108
105
// Array.prototype.{map, reduce, entries, values}
@@ -120,7 +117,7 @@ DataFlow::Node getAValueExportedByPackage() {
120
117
exists ( DataFlow:: MethodCallNode freeze |
121
118
freeze =
122
119
DataFlow:: globalVarRef ( "Object" )
123
- .getAMethodCall ( [ "fromEntries" , "freeze" , "entries" , "values" ] )
120
+ .getAMethodCall ( [ "fromEntries" , "freeze" , "seal" , " entries", "values" ] )
124
121
|
125
122
freeze = getAValueExportedByPackage ( ) and
126
123
result = freeze .getArgument ( 0 )
0 commit comments