@@ -45,7 +45,7 @@ module ActiveSupport {
4545 /**
4646 * Flow summary for methods which transform the receiver in some way, possibly preserving taint.
4747 */
48- private class StringTransformSummary extends SummarizedCallable {
48+ private class StringTransformSummary extends SummarizedCallable:: Range {
4949 // We're modeling a lot of different methods, so we make up a name for this summary.
5050 StringTransformSummary ( ) { this = "ActiveSupportStringTransform" }
5151
@@ -72,7 +72,7 @@ module ActiveSupport {
7272 */
7373 module Object {
7474 /** Flow summary for methods which can return the receiver. */
75- private class IdentitySummary extends SimpleSummarizedCallable {
75+ private class IdentitySummary extends SummarizedCallable :: RangeSimple {
7676 IdentitySummary ( ) { this = [ "presence" , "deep_dup" ] }
7777
7878 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -106,7 +106,7 @@ module ActiveSupport {
106106 }
107107
108108 /** Flow summary for `Object#to_json`, which serializes the receiver as a JSON string. */
109- private class ToJsonSummary extends SimpleSummarizedCallable {
109+ private class ToJsonSummary extends SummarizedCallable :: RangeSimple {
110110 ToJsonSummary ( ) { this = "to_json" }
111111
112112 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -124,7 +124,7 @@ module ActiveSupport {
124124 /**
125125 * Flow summary for `reverse_merge`, and its alias `with_defaults`.
126126 */
127- private class ReverseMergeSummary extends SimpleSummarizedCallable {
127+ private class ReverseMergeSummary extends SummarizedCallable :: RangeSimple {
128128 ReverseMergeSummary ( ) { this = [ "reverse_merge" , "with_defaults" ] }
129129
130130 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -137,7 +137,7 @@ module ActiveSupport {
137137 /**
138138 * Flow summary for `reverse_merge!`, and its aliases `with_defaults!` and `reverse_update`.
139139 */
140- private class ReverseMergeBangSummary extends SimpleSummarizedCallable {
140+ private class ReverseMergeBangSummary extends SummarizedCallable :: RangeSimple {
141141 ReverseMergeBangSummary ( ) { this = [ "reverse_merge!" , "with_defaults!" , "reverse_update" ] }
142142
143143 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -147,7 +147,7 @@ module ActiveSupport {
147147 }
148148 }
149149
150- private class TransformSummary extends SimpleSummarizedCallable {
150+ private class TransformSummary extends SummarizedCallable :: RangeSimple {
151151 TransformSummary ( ) {
152152 this =
153153 [
@@ -188,7 +188,7 @@ module ActiveSupport {
188188 * mentioned in the arguments to an element in `self`, including elements
189189 * at unknown keys.
190190 */
191- private class ExtractSummary extends SummarizedCallable {
191+ private class ExtractSummary extends SummarizedCallable:: Range {
192192 MethodCall mc ;
193193
194194 ExtractSummary ( ) {
@@ -232,7 +232,7 @@ module ActiveSupport {
232232 ArrayIndex ( ) { this = any ( DataFlow:: Content:: KnownElementContent c ) .getIndex ( ) .getInt ( ) }
233233 }
234234
235- private class CompactBlankSummary extends SimpleSummarizedCallable {
235+ private class CompactBlankSummary extends SummarizedCallable :: RangeSimple {
236236 CompactBlankSummary ( ) { this = "compact_blank" }
237237
238238 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -242,7 +242,7 @@ module ActiveSupport {
242242 }
243243 }
244244
245- private class ExcludingSummary extends SimpleSummarizedCallable {
245+ private class ExcludingSummary extends SummarizedCallable :: RangeSimple {
246246 ExcludingSummary ( ) { this = [ "excluding" , "without" ] }
247247
248248 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -252,7 +252,7 @@ module ActiveSupport {
252252 }
253253 }
254254
255- private class InOrderOfSummary extends SimpleSummarizedCallable {
255+ private class InOrderOfSummary extends SummarizedCallable :: RangeSimple {
256256 InOrderOfSummary ( ) { this = "in_order_of" }
257257
258258 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -265,7 +265,7 @@ module ActiveSupport {
265265 /**
266266 * Like `Array#push` but doesn't update the receiver.
267267 */
268- private class IncludingSummary extends SimpleSummarizedCallable {
268+ private class IncludingSummary extends SummarizedCallable :: RangeSimple {
269269 IncludingSummary ( ) { this = "including" }
270270
271271 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -287,7 +287,7 @@ module ActiveSupport {
287287 }
288288 }
289289
290- private class IndexBySummary extends SimpleSummarizedCallable {
290+ private class IndexBySummary extends SummarizedCallable :: RangeSimple {
291291 IndexBySummary ( ) { this = "index_by" }
292292
293293 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -297,7 +297,7 @@ module ActiveSupport {
297297 }
298298 }
299299
300- private class IndexWithSummary extends SimpleSummarizedCallable {
300+ private class IndexWithSummary extends SummarizedCallable :: RangeSimple {
301301 IndexWithSummary ( ) { this = "index_with" }
302302
303303 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -316,7 +316,7 @@ module ActiveSupport {
316316 result = DataFlow:: Content:: getKnownElementIndex ( mc .getArgument ( i ) ) .serialize ( )
317317 }
318318
319- private class PickSingleSummary extends SummarizedCallable {
319+ private class PickSingleSummary extends SummarizedCallable:: Range {
320320 private MethodCall mc ;
321321 private string key ;
322322
@@ -336,7 +336,7 @@ module ActiveSupport {
336336 }
337337 }
338338
339- private class PickMultipleSummary extends SummarizedCallable {
339+ private class PickMultipleSummary extends SummarizedCallable:: Range {
340340 private MethodCall mc ;
341341
342342 PickMultipleSummary ( ) {
@@ -370,7 +370,7 @@ module ActiveSupport {
370370 }
371371 }
372372
373- private class PluckSingleSummary extends SummarizedCallable {
373+ private class PluckSingleSummary extends SummarizedCallable:: Range {
374374 private MethodCall mc ;
375375 private string key ;
376376
@@ -390,7 +390,7 @@ module ActiveSupport {
390390 }
391391 }
392392
393- private class PluckMultipleSummary extends SummarizedCallable {
393+ private class PluckMultipleSummary extends SummarizedCallable:: Range {
394394 private MethodCall mc ;
395395
396396 PluckMultipleSummary ( ) {
@@ -424,7 +424,7 @@ module ActiveSupport {
424424 }
425425 }
426426
427- private class SoleSummary extends SimpleSummarizedCallable {
427+ private class SoleSummary extends SummarizedCallable :: RangeSimple {
428428 SoleSummary ( ) { this = "sole" }
429429
430430 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
@@ -458,7 +458,7 @@ module ActiveSupport {
458458 * `ActiveSupport::ERB::Util`
459459 */
460460 module Util {
461- private class JsonEscapeSummary extends SimpleSummarizedCallable {
461+ private class JsonEscapeSummary extends SummarizedCallable :: RangeSimple {
462462 JsonEscapeSummary ( ) { this = "json_escape" }
463463
464464 override predicate propagatesFlow ( string input , string output , boolean preservesValue ) {
0 commit comments