File tree Expand file tree Collapse file tree 9 files changed +67
-109
lines changed
csharp/ql/lib/semmle/code/csharp/dataflow/internal
go/ql/lib/semmle/go/dataflow/internal
java/ql/lib/semmle/code/java/dataflow/internal
python/ql/lib/semmle/python/dataflow/new/internal
ruby/ql/lib/codeql/ruby/dataflow/internal
swift/ql/lib/codeql/swift/dataflow/internal Expand file tree Collapse file tree 9 files changed +67
-109
lines changed Original file line number Diff line number Diff line change @@ -166,28 +166,21 @@ module Public {
166
166
SummaryComponentStack return ( ReturnKind rk ) { result = singleton ( SummaryComponent:: return ( rk ) ) }
167
167
}
168
168
169
- private predicate noComponentSpecific ( SummaryComponent sc ) {
170
- not exists ( getComponentSpecific ( sc ) )
171
- }
172
-
173
169
/** Gets a textual representation of this component used for flow summaries. */
174
170
private string getComponent ( SummaryComponent sc ) {
175
171
result = getComponentSpecific ( sc )
176
172
or
177
- noComponentSpecific ( sc ) and
178
- (
179
- exists ( ArgumentPosition pos |
180
- sc = TParameterSummaryComponent ( pos ) and
181
- result = "Parameter[" + getArgumentPosition ( pos ) + "]"
182
- )
183
- or
184
- exists ( ParameterPosition pos |
185
- sc = TArgumentSummaryComponent ( pos ) and
186
- result = "Argument[" + getParameterPosition ( pos ) + "]"
187
- )
188
- or
189
- sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
173
+ exists ( ArgumentPosition pos |
174
+ sc = TParameterSummaryComponent ( pos ) and
175
+ result = "Parameter[" + getArgumentPosition ( pos ) + "]"
176
+ )
177
+ or
178
+ exists ( ParameterPosition pos |
179
+ sc = TArgumentSummaryComponent ( pos ) and
180
+ result = "Argument[" + getParameterPosition ( pos ) + "]"
190
181
)
182
+ or
183
+ sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
191
184
}
192
185
193
186
/** Gets a textual representation of this stack used for flow summaries. */
Original file line number Diff line number Diff line change @@ -198,8 +198,8 @@ string getComponentSpecific(SummaryComponent sc) {
198
198
or
199
199
exists ( ReturnKind rk |
200
200
sc = TReturnSummaryComponent ( rk ) and
201
- result = "ReturnValue[" + rk + "]" and
202
- not rk instanceof NormalReturnKind
201
+ not rk = getReturnValueKind ( ) and
202
+ result = "ReturnValue[" + rk + "]"
203
203
)
204
204
}
205
205
Original file line number Diff line number Diff line change @@ -166,28 +166,21 @@ module Public {
166
166
SummaryComponentStack return ( ReturnKind rk ) { result = singleton ( SummaryComponent:: return ( rk ) ) }
167
167
}
168
168
169
- private predicate noComponentSpecific ( SummaryComponent sc ) {
170
- not exists ( getComponentSpecific ( sc ) )
171
- }
172
-
173
169
/** Gets a textual representation of this component used for flow summaries. */
174
170
private string getComponent ( SummaryComponent sc ) {
175
171
result = getComponentSpecific ( sc )
176
172
or
177
- noComponentSpecific ( sc ) and
178
- (
179
- exists ( ArgumentPosition pos |
180
- sc = TParameterSummaryComponent ( pos ) and
181
- result = "Parameter[" + getArgumentPosition ( pos ) + "]"
182
- )
183
- or
184
- exists ( ParameterPosition pos |
185
- sc = TArgumentSummaryComponent ( pos ) and
186
- result = "Argument[" + getParameterPosition ( pos ) + "]"
187
- )
188
- or
189
- sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
173
+ exists ( ArgumentPosition pos |
174
+ sc = TParameterSummaryComponent ( pos ) and
175
+ result = "Parameter[" + getArgumentPosition ( pos ) + "]"
176
+ )
177
+ or
178
+ exists ( ParameterPosition pos |
179
+ sc = TArgumentSummaryComponent ( pos ) and
180
+ result = "Argument[" + getParameterPosition ( pos ) + "]"
190
181
)
182
+ or
183
+ sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
191
184
}
192
185
193
186
/** Gets a textual representation of this stack used for flow summaries. */
Original file line number Diff line number Diff line change @@ -111,10 +111,10 @@ private string getContentSpecific(Content c) {
111
111
string getComponentSpecific ( SummaryComponent sc ) {
112
112
exists ( Content c | sc = TContentSummaryComponent ( c ) and result = getContentSpecific ( c ) )
113
113
or
114
- exists ( ReturnKind rk , int n | n = rk . getIndex ( ) |
114
+ exists ( ReturnKind rk |
115
115
sc = TReturnSummaryComponent ( rk ) and
116
- result = "ReturnValue[" + n + "]" and
117
- n != 0
116
+ not rk = getReturnValueKind ( ) and
117
+ result = "ReturnValue[" + rk . getIndex ( ) + "]"
118
118
)
119
119
}
120
120
Original file line number Diff line number Diff line change @@ -166,28 +166,21 @@ module Public {
166
166
SummaryComponentStack return ( ReturnKind rk ) { result = singleton ( SummaryComponent:: return ( rk ) ) }
167
167
}
168
168
169
- private predicate noComponentSpecific ( SummaryComponent sc ) {
170
- not exists ( getComponentSpecific ( sc ) )
171
- }
172
-
173
169
/** Gets a textual representation of this component used for flow summaries. */
174
170
private string getComponent ( SummaryComponent sc ) {
175
171
result = getComponentSpecific ( sc )
176
172
or
177
- noComponentSpecific ( sc ) and
178
- (
179
- exists ( ArgumentPosition pos |
180
- sc = TParameterSummaryComponent ( pos ) and
181
- result = "Parameter[" + getArgumentPosition ( pos ) + "]"
182
- )
183
- or
184
- exists ( ParameterPosition pos |
185
- sc = TArgumentSummaryComponent ( pos ) and
186
- result = "Argument[" + getParameterPosition ( pos ) + "]"
187
- )
188
- or
189
- sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
173
+ exists ( ArgumentPosition pos |
174
+ sc = TParameterSummaryComponent ( pos ) and
175
+ result = "Parameter[" + getArgumentPosition ( pos ) + "]"
176
+ )
177
+ or
178
+ exists ( ParameterPosition pos |
179
+ sc = TArgumentSummaryComponent ( pos ) and
180
+ result = "Argument[" + getParameterPosition ( pos ) + "]"
190
181
)
182
+ or
183
+ sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
191
184
}
192
185
193
186
/** Gets a textual representation of this stack used for flow summaries. */
Original file line number Diff line number Diff line change @@ -166,28 +166,21 @@ module Public {
166
166
SummaryComponentStack return ( ReturnKind rk ) { result = singleton ( SummaryComponent:: return ( rk ) ) }
167
167
}
168
168
169
- private predicate noComponentSpecific ( SummaryComponent sc ) {
170
- not exists ( getComponentSpecific ( sc ) )
171
- }
172
-
173
169
/** Gets a textual representation of this component used for flow summaries. */
174
170
private string getComponent ( SummaryComponent sc ) {
175
171
result = getComponentSpecific ( sc )
176
172
or
177
- noComponentSpecific ( sc ) and
178
- (
179
- exists ( ArgumentPosition pos |
180
- sc = TParameterSummaryComponent ( pos ) and
181
- result = "Parameter[" + getArgumentPosition ( pos ) + "]"
182
- )
183
- or
184
- exists ( ParameterPosition pos |
185
- sc = TArgumentSummaryComponent ( pos ) and
186
- result = "Argument[" + getParameterPosition ( pos ) + "]"
187
- )
188
- or
189
- sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
173
+ exists ( ArgumentPosition pos |
174
+ sc = TParameterSummaryComponent ( pos ) and
175
+ result = "Parameter[" + getArgumentPosition ( pos ) + "]"
176
+ )
177
+ or
178
+ exists ( ParameterPosition pos |
179
+ sc = TArgumentSummaryComponent ( pos ) and
180
+ result = "Argument[" + getParameterPosition ( pos ) + "]"
190
181
)
182
+ or
183
+ sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
191
184
}
192
185
193
186
/** Gets a textual representation of this stack used for flow summaries. */
Original file line number Diff line number Diff line change @@ -166,28 +166,21 @@ module Public {
166
166
SummaryComponentStack return ( ReturnKind rk ) { result = singleton ( SummaryComponent:: return ( rk ) ) }
167
167
}
168
168
169
- private predicate noComponentSpecific ( SummaryComponent sc ) {
170
- not exists ( getComponentSpecific ( sc ) )
171
- }
172
-
173
169
/** Gets a textual representation of this component used for flow summaries. */
174
170
private string getComponent ( SummaryComponent sc ) {
175
171
result = getComponentSpecific ( sc )
176
172
or
177
- noComponentSpecific ( sc ) and
178
- (
179
- exists ( ArgumentPosition pos |
180
- sc = TParameterSummaryComponent ( pos ) and
181
- result = "Parameter[" + getArgumentPosition ( pos ) + "]"
182
- )
183
- or
184
- exists ( ParameterPosition pos |
185
- sc = TArgumentSummaryComponent ( pos ) and
186
- result = "Argument[" + getParameterPosition ( pos ) + "]"
187
- )
188
- or
189
- sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
173
+ exists ( ArgumentPosition pos |
174
+ sc = TParameterSummaryComponent ( pos ) and
175
+ result = "Parameter[" + getArgumentPosition ( pos ) + "]"
176
+ )
177
+ or
178
+ exists ( ParameterPosition pos |
179
+ sc = TArgumentSummaryComponent ( pos ) and
180
+ result = "Argument[" + getParameterPosition ( pos ) + "]"
190
181
)
182
+ or
183
+ sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
191
184
}
192
185
193
186
/** Gets a textual representation of this stack used for flow summaries. */
Original file line number Diff line number Diff line change @@ -166,28 +166,21 @@ module Public {
166
166
SummaryComponentStack return ( ReturnKind rk ) { result = singleton ( SummaryComponent:: return ( rk ) ) }
167
167
}
168
168
169
- private predicate noComponentSpecific ( SummaryComponent sc ) {
170
- not exists ( getComponentSpecific ( sc ) )
171
- }
172
-
173
169
/** Gets a textual representation of this component used for flow summaries. */
174
170
private string getComponent ( SummaryComponent sc ) {
175
171
result = getComponentSpecific ( sc )
176
172
or
177
- noComponentSpecific ( sc ) and
178
- (
179
- exists ( ArgumentPosition pos |
180
- sc = TParameterSummaryComponent ( pos ) and
181
- result = "Parameter[" + getArgumentPosition ( pos ) + "]"
182
- )
183
- or
184
- exists ( ParameterPosition pos |
185
- sc = TArgumentSummaryComponent ( pos ) and
186
- result = "Argument[" + getParameterPosition ( pos ) + "]"
187
- )
188
- or
189
- sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
173
+ exists ( ArgumentPosition pos |
174
+ sc = TParameterSummaryComponent ( pos ) and
175
+ result = "Parameter[" + getArgumentPosition ( pos ) + "]"
176
+ )
177
+ or
178
+ exists ( ParameterPosition pos |
179
+ sc = TArgumentSummaryComponent ( pos ) and
180
+ result = "Argument[" + getParameterPosition ( pos ) + "]"
190
181
)
182
+ or
183
+ sc = TReturnSummaryComponent ( getReturnValueKind ( ) ) and result = "ReturnValue"
191
184
}
192
185
193
186
/** Gets a textual representation of this stack used for flow summaries. */
Original file line number Diff line number Diff line change @@ -117,8 +117,8 @@ string getComponentSpecific(SummaryComponent sc) {
117
117
or
118
118
exists ( ReturnKind rk |
119
119
sc = TReturnSummaryComponent ( rk ) and
120
- result = "ReturnValue[" + rk + "]" and
121
- not rk instanceof NormalReturnKind
120
+ not rk = getReturnValueKind ( ) and
121
+ result = "ReturnValue" + "[" + rk + "]"
122
122
)
123
123
}
124
124
You can’t perform that action at this time.
0 commit comments