Ruby: add another spurious call edge test

This commit is contained in:
Asger F
2022-10-14 09:26:56 +02:00
parent 1476efbe2c
commit 789f591de4
4 changed files with 45 additions and 9 deletions

View File

@@ -261,6 +261,8 @@ getTarget
| private.rb:104:1:104:20 | call to new | calls.rb:117:5:117:16 | new |
| private.rb:104:1:104:28 | call to call_m1 | private.rb:91:3:93:5 | call_m1 |
| private.rb:105:1:105:20 | call to new | calls.rb:117:5:117:16 | new |
| toplevel_self_singleton.rb:13:9:13:27 | call to ab_singleton_method | toplevel_self_singleton.rb:3:9:4:11 | ab_singleton_method |
| toplevel_self_singleton.rb:19:9:19:27 | call to ab_singleton_method | toplevel_self_singleton.rb:3:9:4:11 | ab_singleton_method |
unresolvedCall
| calls.rb:23:9:23:19 | call to singleton_m |
| calls.rb:26:9:26:18 | call to instance_m |
@@ -346,8 +348,9 @@ unresolvedCall
| private.rb:57:1:57:14 | call to private4 |
| private.rb:100:7:100:29 | call to m1 |
| private.rb:105:1:105:23 | call to m1 |
| toplevel_self_singleton.rb:8:1:12:3 | call to do_something |
| toplevel_self_singleton.rb:8:1:15:3 | call to do_something |
| toplevel_self_singleton.rb:10:9:10:27 | call to ab_singleton_method |
| toplevel_self_singleton.rb:17:12:21:1 | call to new |
privateMethod
| calls.rb:1:1:3:3 | foo |
| calls.rb:39:1:41:3 | call_instance_m |
@@ -459,6 +462,8 @@ publicMethod
| private.rb:66:3:67:5 | public |
| private.rb:91:3:93:5 | call_m1 |
| toplevel_self_singleton.rb:3:9:4:11 | ab_singleton_method |
| toplevel_self_singleton.rb:12:5:14:7 | method_in_block |
| toplevel_self_singleton.rb:18:5:20:7 | method_in_struct |
protectedMethod
| calls.rb:514:15:516:7 | foo |
| calls.rb:522:15:524:7 | bar |

View File

@@ -899,3 +899,7 @@ enclosingMethod
| private.rb:100:7:100:29 | call to m1 | private.rb:97:11:101:5 | m1 |
| toplevel_self_singleton.rb:10:9:10:27 | call to ab_singleton_method | toplevel_self_singleton.rb:9:5:11:7 | method_in_block |
| toplevel_self_singleton.rb:10:9:10:27 | self | toplevel_self_singleton.rb:9:5:11:7 | method_in_block |
| toplevel_self_singleton.rb:13:9:13:27 | call to ab_singleton_method | toplevel_self_singleton.rb:12:5:14:7 | method_in_block |
| toplevel_self_singleton.rb:13:9:13:27 | self | toplevel_self_singleton.rb:12:5:14:7 | method_in_block |
| toplevel_self_singleton.rb:19:9:19:27 | call to ab_singleton_method | toplevel_self_singleton.rb:18:5:20:7 | method_in_struct |
| toplevel_self_singleton.rb:19:9:19:27 | self | toplevel_self_singleton.rb:18:5:20:7 | method_in_struct |

View File

@@ -93,7 +93,7 @@ getADeclaration
| calls.rb:115:1:118:3 | Object | modules.rb:1:1:129:4 | modules.rb |
| calls.rb:115:1:118:3 | Object | modules_rec.rb:1:1:11:26 | modules_rec.rb |
| calls.rb:115:1:118:3 | Object | private.rb:1:1:105:40 | private.rb |
| calls.rb:115:1:118:3 | Object | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| calls.rb:115:1:118:3 | Object | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| calls.rb:120:1:123:3 | Hash | calls.rb:120:1:123:3 | Hash |
| calls.rb:125:1:138:3 | Array | calls.rb:125:1:138:3 | Array |
| calls.rb:165:1:169:3 | S | calls.rb:165:1:169:3 | S |
@@ -434,6 +434,7 @@ resolveConstantWriteAccess
| private.rb:96:1:102:3 | PrivateOverride2 | PrivateOverride2 |
| toplevel_self_singleton.rb:1:1:6:3 | A | A |
| toplevel_self_singleton.rb:2:5:5:7 | B | A::B |
| toplevel_self_singleton.rb:17:1:17:8 | MyStruct | MyStruct |
enclosingModule
| calls.rb:1:1:3:3 | foo | calls.rb:1:1:550:40 | calls.rb |
| calls.rb:2:5:2:14 | call to puts | calls.rb:1:1:550:40 | calls.rb |
@@ -1650,13 +1651,30 @@ enclosingModule
| private.rb:105:1:105:16 | PrivateOverride2 | private.rb:1:1:105:40 | private.rb |
| private.rb:105:1:105:20 | call to new | private.rb:1:1:105:40 | private.rb |
| private.rb:105:1:105:23 | call to m1 | private.rb:1:1:105:40 | private.rb |
| toplevel_self_singleton.rb:1:1:6:3 | A | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:1:1:6:3 | A | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:2:5:5:7 | B | toplevel_self_singleton.rb:1:1:6:3 | A |
| toplevel_self_singleton.rb:3:9:4:11 | ab_singleton_method | toplevel_self_singleton.rb:2:5:5:7 | B |
| toplevel_self_singleton.rb:3:13:3:16 | self | toplevel_self_singleton.rb:2:5:5:7 | B |
| toplevel_self_singleton.rb:8:1:12:3 | call to do_something | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:8:1:12:3 | self | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:8:14:12:3 | do ... end | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:9:5:11:7 | method_in_block | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:10:9:10:27 | call to ab_singleton_method | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:10:9:10:27 | self | toplevel_self_singleton.rb:1:1:12:4 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:8:1:15:3 | call to do_something | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:8:1:15:3 | self | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:8:14:15:3 | do ... end | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:9:5:11:7 | method_in_block | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:10:9:10:27 | call to ab_singleton_method | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:10:9:10:27 | self | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:12:5:14:7 | method_in_block | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:12:9:12:12 | (no string representation) | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:13:9:13:27 | call to ab_singleton_method | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:13:9:13:27 | self | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:1:17:8 | MyStruct | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:1:21:1 | ... = ... | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:12:17:17 | Struct | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:12:21:1 | call to new | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:23:17:26 | :foo | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:23:17:26 | foo | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:29:17:32 | :bar | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:29:17:32 | bar | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:17:35:21:1 | { ... } | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:18:5:20:7 | method_in_struct | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:18:9:18:12 | (no string representation) | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:19:9:19:27 | call to ab_singleton_method | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |
| toplevel_self_singleton.rb:19:9:19:27 | self | toplevel_self_singleton.rb:1:1:21:2 | toplevel_self_singleton.rb |

View File

@@ -9,4 +9,13 @@ do_something do
def method_in_block
ab_singleton_method # should not resolve to anything
end
def self.method_in_block
ab_singleton_method # should not resolve to anything
end
end
MyStruct = Struct.new(:foo, :bar) {
def self.method_in_struct
ab_singleton_method # should not resolve to anything
end
}