Skip to content

Commit 340288e

Browse files
committed
Ruby: Update summary access paths for dot syntax
1 parent d180a55 commit 340288e

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

ruby/ql/lib/codeql/ruby/frameworks/core/String.qll

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ module String {
7171
override MethodCall getACall() { result = mc }
7272

7373
override predicate propagatesFlowExt(string input, string output, boolean preservesValue) {
74-
input = ["Receiver", "Argument[0]", "ArrayElement of Argument[0]"] and
74+
input = ["Receiver", "Argument[0]", "Argument[0].ArrayElement"] and
7575
output = "ReturnValue" and
7676
preservesValue = false
7777
}
@@ -234,7 +234,7 @@ module String {
234234
override predicate propagatesFlowExt(string input, string output, boolean preservesValue) {
235235
preservesValue = false and
236236
input = "Receiver" and
237-
output = ["Parameter[0] of BlockArgument", "ReturnValue"]
237+
output = ["BlockArgument.Parameter[0]", "ReturnValue"]
238238
}
239239
}
240240

@@ -247,7 +247,7 @@ module String {
247247
override predicate propagatesFlowExt(string input, string output, boolean preservesValue) {
248248
preservesValue = false and
249249
input = "Receiver" and
250-
output = ["Parameter[0] of BlockArgument", "ArrayElement[?] of ReturnValue"]
250+
output = ["BlockArgument.Parameter[0]", "ReturnValue.ArrayElement[?]"]
251251
}
252252
}
253253

@@ -299,7 +299,7 @@ module String {
299299
// block return -> return value
300300
preservesValue = false and
301301
output = "ReturnValue" and
302-
input = ["Receiver", "Argument[1]", "ReturnValue of BlockArgument"]
302+
input = ["Receiver", "Argument[1]", "BlockArgument.ReturnValue"]
303303
}
304304
}
305305

@@ -361,7 +361,7 @@ module String {
361361

362362
override predicate propagatesFlowExt(string input, string output, boolean preservesValue) {
363363
input = "Receiver" and
364-
output = "ArrayElement[" + [0, 1, 2] + "] of ReturnValue" and
364+
output = "ReturnValue.ArrayElement[" + [0, 1, 2] + "]" and
365365
preservesValue = false
366366
}
367367
}
@@ -414,7 +414,7 @@ module String {
414414
// scan(pattern) -> array
415415
"ReturnValue",
416416
// Parameter[_] doesn't seem to work
417-
"Parameter[" + [0 .. 10] + "] of BlockArgument"
417+
"BlockArgument.Parameter[" + [0 .. 10] + "]"
418418
]
419419
}
420420
}
@@ -428,9 +428,9 @@ module String {
428428
output =
429429
[
430430
// scan(pattern) {|match, ...| block } -> str
431-
"ArrayElement[?] of ReturnValue",
431+
"ReturnValue.ArrayElement[?]",
432432
// Parameter[_] doesn't seem to work
433-
"Parameter[" + [0 .. 10] + "] of BlockArgument"
433+
"BlockArgument.Parameter[" + [0 .. 10] + "]"
434434
]
435435
}
436436
}
@@ -456,11 +456,11 @@ module String {
456456
preservesValue = false and
457457
(
458458
input = "Receiver" and
459-
output = "Parameter[0] of BlockArgument"
459+
output = "BlockArgument.Parameter[0]"
460460
or
461461
input = "Argument[0]" and output = "ReturnValue"
462462
or
463-
input = "ReturnValue of BlockArgument" and
463+
input = "BlockArgument.ReturnValue" and
464464
output = "ReturnValue"
465465
)
466466
}
@@ -475,7 +475,7 @@ module String {
475475
preservesValue = false and
476476
(
477477
input = "Receiver" and
478-
output = "Parameter[0] of BlockArgument"
478+
output = "BlockArgument.Parameter[0]"
479479
or
480480
input = "Argument[0]" and output = "ReturnValue"
481481
)
@@ -501,7 +501,7 @@ module String {
501501

502502
override predicate propagatesFlowExt(string input, string output, boolean preservesValue) {
503503
input = "Receiver" and
504-
output = "ArrayElement[?] of ReturnValue" and
504+
output = "ReturnValue.ArrayElement[?]" and
505505
preservesValue = false
506506
}
507507
}
@@ -581,11 +581,11 @@ module String {
581581
valueIdentityFlow(input, output, preservesValue)
582582
or
583583
input = ["Receiver", "Argument[0]"] and
584-
output = "Parameter[0] of BlockArgument" and
584+
output = "BlockArgument.Parameter[0]" and
585585
preservesValue = true
586586
or
587-
input = "ReturnValue of BlockArgument" and
588-
output = "ArrayElement[?] of ReturnValue" and
587+
input = "BlockArgument.ReturnValue" and
588+
output = "ReturnValue.ArrayElement[?]" and
589589
preservesValue = true
590590
}
591591
}
@@ -601,11 +601,11 @@ module String {
601601

602602
override predicate propagatesFlowExt(string input, string output, boolean preservesValue) {
603603
input = "Receiver" and
604-
output = "Parameter[0] of BlockArgument" and
604+
output = "BlockArgument.Parameter[0]" and
605605
preservesValue = true
606606
or
607-
input = "ReturnValue of BlockArgument" and
608-
output = "ArrayElement[?] of ReturnValue" and
607+
input = "BlockArgument.ReturnValue" and
608+
output = "ReturnValue.ArrayElement[?]" and
609609
preservesValue = true
610610
}
611611
}

0 commit comments

Comments
 (0)