diff --git a/ql/test/library-tests/modules/ancestors.expected b/ql/test/library-tests/modules/ancestors.expected index c3f801dd27f..927c3c1298e 100644 --- a/ql/test/library-tests/modules/ancestors.expected +++ b/ql/test/library-tests/modules/ancestors.expected @@ -1,8 +1,20 @@ -#-----| Object -#-----| super -> BasicObject -#-----| include -> Kernel +calls.rb: +# 101| Hash +#-----| super -> Object -#-----| Array +# 77| Integer +#-----| super -> Numeric + +# 86| Kernel + +# 90| Module +#-----| super -> Object + +# 96| Object +#-----| include -> Kernel +#-----| super -> BasicObject + +# 105| Array #-----| super -> Object #-----| BasicObject @@ -19,17 +31,6 @@ #-----| Float #-----| super -> Numeric -#-----| Hash -#-----| super -> Object - -#-----| Integer -#-----| super -> Numeric - -#-----| Kernel - -#-----| Module -#-----| super -> Object - #-----| NilClass #-----| super -> Object @@ -42,7 +43,6 @@ #-----| TrueClass #-----| super -> Object -calls.rb: # 15| M # 29| C @@ -52,6 +52,18 @@ calls.rb: # 51| D #-----| super -> C +# 82| String +#-----| super -> Object + +# 143| S +#-----| super -> Object + +# 149| A +#-----| super -> S + +# 154| B +#-----| super -> S + hello.rb: # 1| EnglishWords diff --git a/ql/test/library-tests/modules/callgraph.expected b/ql/test/library-tests/modules/callgraph.expected index bb931ddeac6..f7481fa0e24 100644 --- a/ql/test/library-tests/modules/callgraph.expected +++ b/ql/test/library-tests/modules/callgraph.expected @@ -1,45 +1,86 @@ getTarget +| calls.rb:2:5:2:14 | call to puts | calls.rb:87:5:87:17 | puts | | calls.rb:5:1:5:3 | call to foo | calls.rb:1:1:3:3 | foo | +| calls.rb:5:1:5:3 | call to foo | calls.rb:71:1:75:3 | foo | +| calls.rb:8:5:8:14 | call to puts | calls.rb:87:5:87:17 | puts | | calls.rb:11:1:11:8 | call to bar | calls.rb:7:1:9:3 | bar | | calls.rb:13:1:13:8 | call to foo | calls.rb:1:1:3:3 | foo | +| calls.rb:13:1:13:8 | call to foo | calls.rb:71:1:75:3 | foo | | calls.rb:22:5:22:15 | call to singleton_m | calls.rb:17:5:17:29 | singleton_m | | calls.rb:23:5:23:20 | call to singleton_m | calls.rb:17:5:17:29 | singleton_m | | calls.rb:27:1:27:13 | call to singleton_m | calls.rb:17:5:17:29 | singleton_m | +| calls.rb:30:5:30:13 | call to include | calls.rb:92:5:92:20 | include | | calls.rb:38:9:38:18 | call to instance_m | calls.rb:16:5:16:23 | instance_m | | calls.rb:39:9:39:23 | call to instance_m | calls.rb:16:5:16:23 | instance_m | +| calls.rb:46:5:46:9 | call to new | calls.rb:98:5:98:16 | new | | calls.rb:47:1:47:5 | call to baz | calls.rb:37:5:43:7 | baz | | calls.rb:49:1:49:12 | call to instance_m | calls.rb:16:5:16:23 | instance_m | | calls.rb:53:9:53:13 | call to super | calls.rb:37:5:43:7 | baz | +| calls.rb:57:5:57:9 | call to new | calls.rb:98:5:98:16 | new | | calls.rb:58:1:58:5 | call to baz | calls.rb:52:5:54:7 | baz | | calls.rb:60:1:60:12 | call to instance_m | calls.rb:16:5:16:23 | instance_m | +| calls.rb:63:5:63:16 | call to bit_length | calls.rb:78:5:78:23 | bit_length | +| calls.rb:64:5:64:16 | call to bit_length | calls.rb:78:5:78:23 | bit_length | +| calls.rb:72:11:72:18 | call to new | calls.rb:98:5:98:16 | new | +| calls.rb:73:5:73:10 | ...[...] | calls.rb:102:5:102:15 | [] | +| calls.rb:74:5:74:29 | call to call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:74:22:74:27 | ...[...] | calls.rb:102:5:102:15 | [] | +| calls.rb:97:5:97:18 | call to include | calls.rb:92:5:92:20 | include | +| calls.rb:111:15:111:25 | call to length | calls.rb:107:3:107:17 | length | +| calls.rb:112:18:112:24 | ...[...] | calls.rb:106:3:106:13 | [] | +| calls.rb:122:1:122:30 | call to funny | calls.rb:118:1:120:3 | funny | +| calls.rb:122:13:122:29 | call to puts | calls.rb:87:5:87:17 | puts | +| calls.rb:124:1:124:14 | call to capitalize | calls.rb:83:5:83:23 | capitalize | +| calls.rb:125:1:125:12 | call to bit_length | calls.rb:78:5:78:23 | bit_length | +| calls.rb:126:1:126:5 | call to abs | calls.rb:79:5:79:16 | abs | +| calls.rb:128:1:128:62 | call to foreach | calls.rb:109:3:115:5 | foreach | +| calls.rb:128:32:128:61 | call to puts | calls.rb:87:5:87:17 | puts | +| calls.rb:130:1:130:35 | call to foreach | calls.rb:109:3:115:5 | foreach | +| calls.rb:132:1:132:40 | call to foreach | calls.rb:109:3:115:5 | foreach | +| calls.rb:132:23:132:39 | call to puts | calls.rb:87:5:87:17 | puts | +| calls.rb:134:1:134:37 | call to foreach | calls.rb:109:3:115:5 | foreach | +| calls.rb:134:27:134:36 | call to puts | calls.rb:87:5:87:17 | puts | +| calls.rb:137:5:137:17 | call to call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:140:1:140:28 | call to indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:159:1:159:5 | call to new | calls.rb:98:5:98:16 | new | +| calls.rb:159:1:159:14 | call to s_method | calls.rb:144:5:146:7 | s_method | +| calls.rb:160:1:160:5 | call to new | calls.rb:98:5:98:16 | new | +| calls.rb:160:1:160:14 | call to s_method | calls.rb:144:5:146:7 | s_method | +| calls.rb:161:1:161:5 | call to new | calls.rb:98:5:98:16 | new | +| calls.rb:161:1:161:14 | call to s_method | calls.rb:144:5:146:7 | s_method | +| hello.rb:12:5:12:24 | call to include | calls.rb:92:5:92:20 | include | | hello.rb:14:16:14:20 | call to hello | hello.rb:2:5:4:7 | hello | | hello.rb:20:16:20:20 | call to super | hello.rb:13:5:15:7 | message | | hello.rb:20:30:20:34 | call to world | hello.rb:5:5:7:7 | world | +| modules.rb:12:5:12:26 | call to puts | calls.rb:87:5:87:17 | puts | +| modules.rb:22:3:22:19 | call to puts | calls.rb:87:5:87:17 | puts | +| modules.rb:33:3:33:25 | call to puts | calls.rb:87:5:87:17 | puts | +| modules.rb:44:3:44:19 | call to puts | calls.rb:87:5:87:17 | puts | +| modules.rb:55:3:55:30 | call to puts | calls.rb:87:5:87:17 | puts | +| modules.rb:89:3:89:16 | call to include | calls.rb:92:5:92:20 | include | +| modules.rb:90:3:90:38 | call to module_eval | calls.rb:91:5:91:24 | module_eval | +| modules.rb:90:24:90:36 | call to prepend | calls.rb:93:5:93:20 | prepend | +| modules.rb:96:3:96:14 | call to include | calls.rb:92:5:92:20 | include | +| modules.rb:102:3:102:16 | call to prepend | calls.rb:93:5:93:20 | prepend | unresolvedCall -| calls.rb:2:5:2:14 | call to puts | -| calls.rb:8:5:8:14 | call to puts | | calls.rb:19:5:19:14 | call to instance_m | | calls.rb:20:5:20:19 | call to instance_m | | calls.rb:26:1:26:12 | call to instance_m | -| calls.rb:30:5:30:13 | call to include | | calls.rb:31:5:31:14 | call to instance_m | | calls.rb:32:5:32:19 | call to instance_m | | calls.rb:34:5:34:15 | call to singleton_m | | calls.rb:35:5:35:20 | call to singleton_m | | calls.rb:41:9:41:19 | call to singleton_m | | calls.rb:42:9:42:24 | call to singleton_m | -| calls.rb:46:5:46:9 | call to new | | calls.rb:48:1:48:13 | call to singleton_m | -| calls.rb:57:5:57:9 | call to new | | calls.rb:59:1:59:13 | call to singleton_m | -| hello.rb:12:5:12:24 | call to include | -| modules.rb:12:5:12:26 | call to puts | -| modules.rb:22:3:22:19 | call to puts | -| modules.rb:33:3:33:25 | call to puts | -| modules.rb:44:3:44:19 | call to puts | -| modules.rb:55:3:55:30 | call to puts | -| modules.rb:89:3:89:16 | call to include | -| modules.rb:90:3:90:38 | call to module_eval | -| modules.rb:90:24:90:36 | call to prepend | -| modules.rb:96:3:96:14 | call to include | -| modules.rb:102:3:102:16 | call to prepend | +| calls.rb:68:5:68:11 | yield ... | +| calls.rb:112:9:112:24 | yield ... | +| calls.rb:119:5:119:20 | yield ... | +| calls.rb:122:18:122:29 | call to capitalize | +| calls.rb:128:48:128:59 | call to capitalize | +| calls.rb:130:23:130:34 | call to bit_length | +| calls.rb:132:28:132:39 | call to capitalize | +| calls.rb:134:32:134:36 | call to abs | +| calls.rb:140:16:140:27 | call to bit_length | +| calls.rb:145:9:145:17 | call to to_s | diff --git a/ql/test/library-tests/modules/calls.rb b/ql/test/library-tests/modules/calls.rb index 2a8fcce7235..83a0528b7c2 100644 --- a/ql/test/library-tests/modules/calls.rb +++ b/ql/test/library-tests/modules/calls.rb @@ -57,4 +57,105 @@ end d = D.new d.baz d.singleton_m # NoMethodError -d.instance_m \ No newline at end of file +d.instance_m + +def optional_arg(a = 4, b: 5) + a.bit_length + b.bit_length +end + +def call_block + yield 1 +end + +def foo() + var = Hash.new + var[1] + call_block { |x| var[x] } +end + +class Integer + def bit_length; end + def abs; end +end + +class String + def capitalize; end +end + +module Kernel + def puts; end +end + +class Module + def module_eval; end + def include; end + def prepend; end +end + +class Object < Module + include Kernel + def new; end +end + +class Hash + def []; end +end + +class Array + def []; end + def length; end + + def foreach &body + x = 0 + while x < self.length + yield x, self[x] + x += 1 + end + end +end + +def funny + yield "prefix: " +end + +funny { |i| puts i.capitalize} + +"a".capitalize +1.bit_length +1.abs + +["a","b","c"].foreach { |i, v| puts "#{i} -> #{v.capitalize}"} # TODO should resolve to String.capitalize + +[1,2,3].foreach { |i| i.bit_length} + +[1,2,3].foreach { |i| puts i.capitalize} # NoMethodError + +[1,-2,3].foreach { |_, v| puts v.abs} # TODO should resolve to Integer.abs + +def indirect &b + call_block &b +end + +indirect { |i| i.bit_length} + + +class S + def s_method + self.to_s + end +end + +class A < S + def to_s + end +end + +class B < S + def to_s + end +end + +S.new.s_method +A.new.s_method +B.new.s_method diff --git a/ql/test/library-tests/modules/methods.expected b/ql/test/library-tests/modules/methods.expected index 84561d99b12..49f70ae69a4 100644 --- a/ql/test/library-tests/modules/methods.expected +++ b/ql/test/library-tests/modules/methods.expected @@ -2,7 +2,27 @@ getMethod | calls.rb:15:1:24:3 | M | instance_m | calls.rb:16:5:16:23 | instance_m | | calls.rb:29:1:44:3 | C | baz | calls.rb:37:5:43:7 | baz | | calls.rb:51:1:55:3 | D | baz | calls.rb:52:5:54:7 | baz | -| file://:0:0:0:0 | Object | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:77:1:80:3 | Integer | abs | calls.rb:79:5:79:16 | abs | +| calls.rb:77:1:80:3 | Integer | bit_length | calls.rb:78:5:78:23 | bit_length | +| calls.rb:82:1:84:3 | String | capitalize | calls.rb:83:5:83:23 | capitalize | +| calls.rb:86:1:88:3 | Kernel | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:90:1:94:3 | Module | include | calls.rb:92:5:92:20 | include | +| calls.rb:90:1:94:3 | Module | module_eval | calls.rb:91:5:91:24 | module_eval | +| calls.rb:90:1:94:3 | Module | prepend | calls.rb:93:5:93:20 | prepend | +| calls.rb:96:1:99:3 | Object | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:96:1:99:3 | Object | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:96:1:99:3 | Object | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:96:1:99:3 | Object | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:96:1:99:3 | Object | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:96:1:99:3 | Object | new | calls.rb:98:5:98:16 | new | +| calls.rb:96:1:99:3 | Object | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:101:1:103:3 | Hash | [] | calls.rb:102:5:102:15 | [] | +| calls.rb:105:1:116:3 | Array | [] | calls.rb:106:3:106:13 | [] | +| calls.rb:105:1:116:3 | Array | foreach | calls.rb:109:3:115:5 | foreach | +| calls.rb:105:1:116:3 | Array | length | calls.rb:107:3:107:17 | length | +| calls.rb:143:1:147:3 | S | s_method | calls.rb:144:5:146:7 | s_method | +| calls.rb:149:1:152:3 | A | to_s | calls.rb:150:5:151:7 | to_s | +| calls.rb:154:1:157:3 | B | to_s | calls.rb:155:5:156:7 | to_s | | hello.rb:1:1:8:3 | EnglishWords | hello | hello.rb:2:5:4:7 | hello | | hello.rb:1:1:8:3 | EnglishWords | world | hello.rb:5:5:7:7 | world | | hello.rb:11:1:16:3 | Greeting | message | hello.rb:13:5:15:7 | message | @@ -16,46 +36,279 @@ getMethod lookupMethod | calls.rb:15:1:24:3 | M | instance_m | calls.rb:16:5:16:23 | instance_m | | calls.rb:29:1:44:3 | C | baz | calls.rb:37:5:43:7 | baz | +| calls.rb:29:1:44:3 | C | call_block | calls.rb:67:1:69:3 | call_block | | calls.rb:29:1:44:3 | C | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:29:1:44:3 | C | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:29:1:44:3 | C | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:29:1:44:3 | C | indirect | calls.rb:136:1:138:3 | indirect | | calls.rb:29:1:44:3 | C | instance_m | calls.rb:16:5:16:23 | instance_m | +| calls.rb:29:1:44:3 | C | new | calls.rb:98:5:98:16 | new | +| calls.rb:29:1:44:3 | C | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:29:1:44:3 | C | puts | calls.rb:87:5:87:17 | puts | | calls.rb:51:1:55:3 | D | baz | calls.rb:52:5:54:7 | baz | +| calls.rb:51:1:55:3 | D | call_block | calls.rb:67:1:69:3 | call_block | | calls.rb:51:1:55:3 | D | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:51:1:55:3 | D | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:51:1:55:3 | D | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:51:1:55:3 | D | indirect | calls.rb:136:1:138:3 | indirect | | calls.rb:51:1:55:3 | D | instance_m | calls.rb:16:5:16:23 | instance_m | -| file://:0:0:0:0 | Array | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:51:1:55:3 | D | new | calls.rb:98:5:98:16 | new | +| calls.rb:51:1:55:3 | D | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:51:1:55:3 | D | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:77:1:80:3 | Integer | abs | calls.rb:79:5:79:16 | abs | +| calls.rb:77:1:80:3 | Integer | bit_length | calls.rb:78:5:78:23 | bit_length | +| calls.rb:77:1:80:3 | Integer | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:77:1:80:3 | Integer | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:77:1:80:3 | Integer | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:77:1:80:3 | Integer | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:77:1:80:3 | Integer | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:77:1:80:3 | Integer | new | calls.rb:98:5:98:16 | new | +| calls.rb:77:1:80:3 | Integer | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:77:1:80:3 | Integer | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:82:1:84:3 | String | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:82:1:84:3 | String | capitalize | calls.rb:83:5:83:23 | capitalize | +| calls.rb:82:1:84:3 | String | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:82:1:84:3 | String | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:82:1:84:3 | String | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:82:1:84:3 | String | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:82:1:84:3 | String | new | calls.rb:98:5:98:16 | new | +| calls.rb:82:1:84:3 | String | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:82:1:84:3 | String | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:86:1:88:3 | Kernel | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:90:1:94:3 | Module | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:90:1:94:3 | Module | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:90:1:94:3 | Module | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:90:1:94:3 | Module | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:90:1:94:3 | Module | include | calls.rb:92:5:92:20 | include | +| calls.rb:90:1:94:3 | Module | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:90:1:94:3 | Module | module_eval | calls.rb:91:5:91:24 | module_eval | +| calls.rb:90:1:94:3 | Module | new | calls.rb:98:5:98:16 | new | +| calls.rb:90:1:94:3 | Module | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:90:1:94:3 | Module | prepend | calls.rb:93:5:93:20 | prepend | +| calls.rb:90:1:94:3 | Module | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:96:1:99:3 | Object | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:96:1:99:3 | Object | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:96:1:99:3 | Object | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:96:1:99:3 | Object | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:96:1:99:3 | Object | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:96:1:99:3 | Object | new | calls.rb:98:5:98:16 | new | +| calls.rb:96:1:99:3 | Object | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:96:1:99:3 | Object | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:101:1:103:3 | Hash | [] | calls.rb:102:5:102:15 | [] | +| calls.rb:101:1:103:3 | Hash | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:101:1:103:3 | Hash | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:101:1:103:3 | Hash | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:101:1:103:3 | Hash | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:101:1:103:3 | Hash | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:101:1:103:3 | Hash | new | calls.rb:98:5:98:16 | new | +| calls.rb:101:1:103:3 | Hash | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:101:1:103:3 | Hash | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:105:1:116:3 | Array | [] | calls.rb:106:3:106:13 | [] | +| calls.rb:105:1:116:3 | Array | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:105:1:116:3 | Array | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:105:1:116:3 | Array | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:105:1:116:3 | Array | foreach | calls.rb:109:3:115:5 | foreach | +| calls.rb:105:1:116:3 | Array | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:105:1:116:3 | Array | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:105:1:116:3 | Array | length | calls.rb:107:3:107:17 | length | +| calls.rb:105:1:116:3 | Array | new | calls.rb:98:5:98:16 | new | +| calls.rb:105:1:116:3 | Array | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:105:1:116:3 | Array | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:143:1:147:3 | S | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:143:1:147:3 | S | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:143:1:147:3 | S | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:143:1:147:3 | S | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:143:1:147:3 | S | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:143:1:147:3 | S | new | calls.rb:98:5:98:16 | new | +| calls.rb:143:1:147:3 | S | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:143:1:147:3 | S | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:143:1:147:3 | S | s_method | calls.rb:144:5:146:7 | s_method | +| calls.rb:149:1:152:3 | A | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:149:1:152:3 | A | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:149:1:152:3 | A | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:149:1:152:3 | A | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:149:1:152:3 | A | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:149:1:152:3 | A | new | calls.rb:98:5:98:16 | new | +| calls.rb:149:1:152:3 | A | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:149:1:152:3 | A | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:149:1:152:3 | A | s_method | calls.rb:144:5:146:7 | s_method | +| calls.rb:149:1:152:3 | A | to_s | calls.rb:150:5:151:7 | to_s | +| calls.rb:154:1:157:3 | B | call_block | calls.rb:67:1:69:3 | call_block | +| calls.rb:154:1:157:3 | B | foo | calls.rb:1:1:3:3 | foo | +| calls.rb:154:1:157:3 | B | foo | calls.rb:71:1:75:3 | foo | +| calls.rb:154:1:157:3 | B | funny | calls.rb:118:1:120:3 | funny | +| calls.rb:154:1:157:3 | B | indirect | calls.rb:136:1:138:3 | indirect | +| calls.rb:154:1:157:3 | B | new | calls.rb:98:5:98:16 | new | +| calls.rb:154:1:157:3 | B | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| calls.rb:154:1:157:3 | B | puts | calls.rb:87:5:87:17 | puts | +| calls.rb:154:1:157:3 | B | s_method | calls.rb:144:5:146:7 | s_method | +| calls.rb:154:1:157:3 | B | to_s | calls.rb:155:5:156:7 | to_s | +| file://:0:0:0:0 | Class | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | Class | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | Class | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | Class | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | Class | include | calls.rb:92:5:92:20 | include | +| file://:0:0:0:0 | Class | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | Class | module_eval | calls.rb:91:5:91:24 | module_eval | +| file://:0:0:0:0 | Class | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | Class | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | Class | prepend | calls.rb:93:5:93:20 | prepend | +| file://:0:0:0:0 | Class | puts | calls.rb:87:5:87:17 | puts | +| file://:0:0:0:0 | Complex | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | Complex | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | Complex | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | Complex | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | Complex | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | Complex | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | Complex | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | Complex | puts | calls.rb:87:5:87:17 | puts | +| file://:0:0:0:0 | FalseClass | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | FalseClass | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | FalseClass | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | FalseClass | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | FalseClass | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | FalseClass | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | FalseClass | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | FalseClass | puts | calls.rb:87:5:87:17 | puts | +| file://:0:0:0:0 | Float | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | Float | foo | calls.rb:1:1:3:3 | foo | -| file://:0:0:0:0 | Hash | foo | calls.rb:1:1:3:3 | foo | -| file://:0:0:0:0 | Integer | foo | calls.rb:1:1:3:3 | foo | -| file://:0:0:0:0 | Module | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | Float | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | Float | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | Float | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | Float | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | Float | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | Float | puts | calls.rb:87:5:87:17 | puts | +| file://:0:0:0:0 | NilClass | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | NilClass | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | NilClass | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | NilClass | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | NilClass | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | NilClass | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | NilClass | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | NilClass | puts | calls.rb:87:5:87:17 | puts | +| file://:0:0:0:0 | Numeric | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | Numeric | foo | calls.rb:1:1:3:3 | foo | -| file://:0:0:0:0 | Object | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | Numeric | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | Numeric | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | Numeric | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | Numeric | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | Numeric | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | Numeric | puts | calls.rb:87:5:87:17 | puts | +| file://:0:0:0:0 | Rational | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | Rational | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | Rational | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | Rational | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | Rational | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | Rational | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | Rational | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | Rational | puts | calls.rb:87:5:87:17 | puts | +| file://:0:0:0:0 | TrueClass | call_block | calls.rb:67:1:69:3 | call_block | | file://:0:0:0:0 | TrueClass | foo | calls.rb:1:1:3:3 | foo | +| file://:0:0:0:0 | TrueClass | foo | calls.rb:71:1:75:3 | foo | +| file://:0:0:0:0 | TrueClass | funny | calls.rb:118:1:120:3 | funny | +| file://:0:0:0:0 | TrueClass | indirect | calls.rb:136:1:138:3 | indirect | +| file://:0:0:0:0 | TrueClass | new | calls.rb:98:5:98:16 | new | +| file://:0:0:0:0 | TrueClass | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| file://:0:0:0:0 | TrueClass | puts | calls.rb:87:5:87:17 | puts | | hello.rb:1:1:8:3 | EnglishWords | hello | hello.rb:2:5:4:7 | hello | | hello.rb:1:1:8:3 | EnglishWords | world | hello.rb:5:5:7:7 | world | +| hello.rb:11:1:16:3 | Greeting | call_block | calls.rb:67:1:69:3 | call_block | | hello.rb:11:1:16:3 | Greeting | foo | calls.rb:1:1:3:3 | foo | +| hello.rb:11:1:16:3 | Greeting | foo | calls.rb:71:1:75:3 | foo | +| hello.rb:11:1:16:3 | Greeting | funny | calls.rb:118:1:120:3 | funny | | hello.rb:11:1:16:3 | Greeting | hello | hello.rb:2:5:4:7 | hello | +| hello.rb:11:1:16:3 | Greeting | indirect | calls.rb:136:1:138:3 | indirect | | hello.rb:11:1:16:3 | Greeting | message | hello.rb:13:5:15:7 | message | +| hello.rb:11:1:16:3 | Greeting | new | calls.rb:98:5:98:16 | new | +| hello.rb:11:1:16:3 | Greeting | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| hello.rb:11:1:16:3 | Greeting | puts | calls.rb:87:5:87:17 | puts | | hello.rb:11:1:16:3 | Greeting | world | hello.rb:5:5:7:7 | world | +| hello.rb:18:1:22:3 | HelloWorld | call_block | calls.rb:67:1:69:3 | call_block | | hello.rb:18:1:22:3 | HelloWorld | foo | calls.rb:1:1:3:3 | foo | +| hello.rb:18:1:22:3 | HelloWorld | foo | calls.rb:71:1:75:3 | foo | +| hello.rb:18:1:22:3 | HelloWorld | funny | calls.rb:118:1:120:3 | funny | | hello.rb:18:1:22:3 | HelloWorld | hello | hello.rb:2:5:4:7 | hello | +| hello.rb:18:1:22:3 | HelloWorld | indirect | calls.rb:136:1:138:3 | indirect | | hello.rb:18:1:22:3 | HelloWorld | message | hello.rb:19:5:21:7 | message | +| hello.rb:18:1:22:3 | HelloWorld | new | calls.rb:98:5:98:16 | new | +| hello.rb:18:1:22:3 | HelloWorld | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| hello.rb:18:1:22:3 | HelloWorld | puts | calls.rb:87:5:87:17 | puts | | hello.rb:18:1:22:3 | HelloWorld | world | hello.rb:5:5:7:7 | world | | modules.rb:4:1:24:3 | Foo | method_in_another_definition_of_foo | modules.rb:27:3:28:5 | method_in_another_definition_of_foo | | modules.rb:4:1:24:3 | Foo | method_in_foo | modules.rb:16:3:17:5 | method_in_foo | | modules.rb:5:3:14:5 | Foo::Bar | method_in_another_definition_of_foo_bar | modules.rb:52:3:53:5 | method_in_another_definition_of_foo_bar | | modules.rb:5:3:14:5 | Foo::Bar | method_in_foo_bar | modules.rb:9:5:10:7 | method_in_foo_bar | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | new | calls.rb:98:5:98:16 | new | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:19:3:20:5 | Foo::ClassInFoo | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | new | calls.rb:98:5:98:16 | new | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | new | calls.rb:98:5:98:16 | new | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:37:1:46:3 | Bar | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:37:1:46:3 | Bar | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:37:1:46:3 | Bar | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:37:1:46:3 | Bar | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:37:1:46:3 | Bar | indirect | calls.rb:136:1:138:3 | indirect | | modules.rb:37:1:46:3 | Bar | method_a | modules.rb:38:3:39:5 | method_a | | modules.rb:37:1:46:3 | Bar | method_b | modules.rb:41:3:42:5 | method_b | +| modules.rb:37:1:46:3 | Bar | new | calls.rb:98:5:98:16 | new | +| modules.rb:37:1:46:3 | Bar | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:37:1:46:3 | Bar | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | new | calls.rb:98:5:98:16 | new | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:66:5:67:7 | Test::Foo1::Bar | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | new | calls.rb:98:5:98:16 | new | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | new | calls.rb:98:5:98:16 | new | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:112:1:113:3 | YY | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:112:1:113:3 | YY | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:112:1:113:3 | YY | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:112:1:113:3 | YY | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:112:1:113:3 | YY | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:112:1:113:3 | YY | new | calls.rb:98:5:98:16 | new | +| modules.rb:112:1:113:3 | YY | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:112:1:113:3 | YY | puts | calls.rb:87:5:87:17 | puts | +| modules.rb:116:7:117:9 | XX::YY | call_block | calls.rb:67:1:69:3 | call_block | | modules.rb:116:7:117:9 | XX::YY | foo | calls.rb:1:1:3:3 | foo | +| modules.rb:116:7:117:9 | XX::YY | foo | calls.rb:71:1:75:3 | foo | +| modules.rb:116:7:117:9 | XX::YY | funny | calls.rb:118:1:120:3 | funny | +| modules.rb:116:7:117:9 | XX::YY | indirect | calls.rb:136:1:138:3 | indirect | +| modules.rb:116:7:117:9 | XX::YY | new | calls.rb:98:5:98:16 | new | +| modules.rb:116:7:117:9 | XX::YY | optional_arg | calls.rb:62:1:65:3 | optional_arg | +| modules.rb:116:7:117:9 | XX::YY | puts | calls.rb:87:5:87:17 | puts | diff --git a/ql/test/library-tests/modules/modules.expected b/ql/test/library-tests/modules/modules.expected index 6e7b66d7b81..9300defae99 100644 --- a/ql/test/library-tests/modules/modules.expected +++ b/ql/test/library-tests/modules/modules.expected @@ -2,19 +2,23 @@ getModule | calls.rb:15:1:24:3 | M | | calls.rb:29:1:44:3 | C | | calls.rb:51:1:55:3 | D | -| file://:0:0:0:0 | Array | +| calls.rb:77:1:80:3 | Integer | +| calls.rb:82:1:84:3 | String | +| calls.rb:86:1:88:3 | Kernel | +| calls.rb:90:1:94:3 | Module | +| calls.rb:96:1:99:3 | Object | +| calls.rb:101:1:103:3 | Hash | +| calls.rb:105:1:116:3 | Array | +| calls.rb:143:1:147:3 | S | +| calls.rb:149:1:152:3 | A | +| calls.rb:154:1:157:3 | B | | file://:0:0:0:0 | BasicObject | | file://:0:0:0:0 | Class | | file://:0:0:0:0 | Complex | | file://:0:0:0:0 | FalseClass | | file://:0:0:0:0 | Float | -| file://:0:0:0:0 | Hash | -| file://:0:0:0:0 | Integer | -| file://:0:0:0:0 | Kernel | -| file://:0:0:0:0 | Module | | file://:0:0:0:0 | NilClass | | file://:0:0:0:0 | Numeric | -| file://:0:0:0:0 | Object | | file://:0:0:0:0 | Rational | | file://:0:0:0:0 | TrueClass | | hello.rb:1:1:8:3 | EnglishWords | @@ -54,9 +58,19 @@ getADeclaration | calls.rb:15:1:24:3 | M | calls.rb:15:1:24:3 | M | | calls.rb:29:1:44:3 | C | calls.rb:29:1:44:3 | C | | calls.rb:51:1:55:3 | D | calls.rb:51:1:55:3 | D | -| file://:0:0:0:0 | Object | calls.rb:1:1:60:12 | calls.rb | -| file://:0:0:0:0 | Object | hello.rb:1:1:22:3 | hello.rb | -| file://:0:0:0:0 | Object | modules.rb:1:1:122:1 | modules.rb | +| calls.rb:77:1:80:3 | Integer | calls.rb:77:1:80:3 | Integer | +| calls.rb:82:1:84:3 | String | calls.rb:82:1:84:3 | String | +| calls.rb:86:1:88:3 | Kernel | calls.rb:86:1:88:3 | Kernel | +| calls.rb:90:1:94:3 | Module | calls.rb:90:1:94:3 | Module | +| calls.rb:96:1:99:3 | Object | calls.rb:1:1:161:15 | calls.rb | +| calls.rb:96:1:99:3 | Object | calls.rb:96:1:99:3 | Object | +| calls.rb:96:1:99:3 | Object | hello.rb:1:1:22:3 | hello.rb | +| calls.rb:96:1:99:3 | Object | modules.rb:1:1:122:1 | modules.rb | +| calls.rb:101:1:103:3 | Hash | calls.rb:101:1:103:3 | Hash | +| calls.rb:105:1:116:3 | Array | calls.rb:105:1:116:3 | Array | +| calls.rb:143:1:147:3 | S | calls.rb:143:1:147:3 | S | +| calls.rb:149:1:152:3 | A | calls.rb:149:1:152:3 | A | +| calls.rb:154:1:157:3 | B | calls.rb:154:1:157:3 | B | | hello.rb:1:1:8:3 | EnglishWords | hello.rb:1:1:8:3 | EnglishWords | | hello.rb:11:1:16:3 | Greeting | hello.rb:11:1:16:3 | Greeting | | hello.rb:18:1:22:3 | HelloWorld | hello.rb:18:1:22:3 | HelloWorld | @@ -94,37 +108,41 @@ getADeclaration | modules.rb:116:7:117:9 | XX::YY | modules.rb:116:7:117:9 | YY | | modules.rb:120:1:121:3 | Test::Foo1::Bar::Baz | modules.rb:120:1:121:3 | Baz | getSuperClass -| calls.rb:29:1:44:3 | C | file://:0:0:0:0 | Object | +| calls.rb:29:1:44:3 | C | calls.rb:96:1:99:3 | Object | | calls.rb:51:1:55:3 | D | calls.rb:29:1:44:3 | C | -| file://:0:0:0:0 | Array | file://:0:0:0:0 | Object | -| file://:0:0:0:0 | Class | file://:0:0:0:0 | Module | +| calls.rb:77:1:80:3 | Integer | file://:0:0:0:0 | Numeric | +| calls.rb:82:1:84:3 | String | calls.rb:96:1:99:3 | Object | +| calls.rb:90:1:94:3 | Module | calls.rb:96:1:99:3 | Object | +| calls.rb:96:1:99:3 | Object | file://:0:0:0:0 | BasicObject | +| calls.rb:101:1:103:3 | Hash | calls.rb:96:1:99:3 | Object | +| calls.rb:105:1:116:3 | Array | calls.rb:96:1:99:3 | Object | +| calls.rb:143:1:147:3 | S | calls.rb:96:1:99:3 | Object | +| calls.rb:149:1:152:3 | A | calls.rb:143:1:147:3 | S | +| calls.rb:154:1:157:3 | B | calls.rb:143:1:147:3 | S | +| file://:0:0:0:0 | Class | calls.rb:90:1:94:3 | Module | | file://:0:0:0:0 | Complex | file://:0:0:0:0 | Numeric | -| file://:0:0:0:0 | FalseClass | file://:0:0:0:0 | Object | +| file://:0:0:0:0 | FalseClass | calls.rb:96:1:99:3 | Object | | file://:0:0:0:0 | Float | file://:0:0:0:0 | Numeric | -| file://:0:0:0:0 | Hash | file://:0:0:0:0 | Object | -| file://:0:0:0:0 | Integer | file://:0:0:0:0 | Numeric | -| file://:0:0:0:0 | Module | file://:0:0:0:0 | Object | -| file://:0:0:0:0 | NilClass | file://:0:0:0:0 | Object | -| file://:0:0:0:0 | Numeric | file://:0:0:0:0 | Object | -| file://:0:0:0:0 | Object | file://:0:0:0:0 | BasicObject | +| file://:0:0:0:0 | NilClass | calls.rb:96:1:99:3 | Object | +| file://:0:0:0:0 | Numeric | calls.rb:96:1:99:3 | Object | | file://:0:0:0:0 | Rational | file://:0:0:0:0 | Numeric | -| file://:0:0:0:0 | TrueClass | file://:0:0:0:0 | Object | -| hello.rb:11:1:16:3 | Greeting | file://:0:0:0:0 | Object | +| file://:0:0:0:0 | TrueClass | calls.rb:96:1:99:3 | Object | +| hello.rb:11:1:16:3 | Greeting | calls.rb:96:1:99:3 | Object | | hello.rb:18:1:22:3 | HelloWorld | hello.rb:11:1:16:3 | Greeting | -| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | file://:0:0:0:0 | Object | -| modules.rb:19:3:20:5 | Foo::ClassInFoo | file://:0:0:0:0 | Object | -| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | file://:0:0:0:0 | Object | -| modules.rb:37:1:46:3 | Bar | file://:0:0:0:0 | Object | -| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | file://:0:0:0:0 | Object | -| modules.rb:66:5:67:7 | Test::Foo1::Bar | file://:0:0:0:0 | Object | -| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | file://:0:0:0:0 | Object | -| modules.rb:112:1:113:3 | YY | file://:0:0:0:0 | Object | +| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | calls.rb:96:1:99:3 | Object | +| modules.rb:19:3:20:5 | Foo::ClassInFoo | calls.rb:96:1:99:3 | Object | +| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | calls.rb:96:1:99:3 | Object | +| modules.rb:37:1:46:3 | Bar | calls.rb:96:1:99:3 | Object | +| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | calls.rb:96:1:99:3 | Object | +| modules.rb:66:5:67:7 | Test::Foo1::Bar | calls.rb:96:1:99:3 | Object | +| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | calls.rb:96:1:99:3 | Object | +| modules.rb:112:1:113:3 | YY | calls.rb:96:1:99:3 | Object | | modules.rb:116:7:117:9 | XX::YY | modules.rb:112:1:113:3 | YY | getAPrependedModule | modules.rb:101:1:105:3 | PrependTest | modules.rb:63:1:81:3 | Test | getAnIncludedModule | calls.rb:29:1:44:3 | C | calls.rb:15:1:24:3 | M | -| file://:0:0:0:0 | Object | file://:0:0:0:0 | Kernel | +| calls.rb:96:1:99:3 | Object | calls.rb:86:1:88:3 | Kernel | | hello.rb:11:1:16:3 | Greeting | hello.rb:1:1:8:3 | EnglishWords | | modules.rb:88:1:93:3 | IncludeTest | modules.rb:63:1:81:3 | Test | | modules.rb:95:1:99:3 | IncludeTest2 | modules.rb:63:1:81:3 | Test | diff --git a/ql/test/library-tests/modules/superclasses.expected b/ql/test/library-tests/modules/superclasses.expected index b4842a16220..3c5bb730e64 100644 --- a/ql/test/library-tests/modules/superclasses.expected +++ b/ql/test/library-tests/modules/superclasses.expected @@ -1,7 +1,19 @@ -#-----| Object +calls.rb: +# 101| Hash +#-----| -> Object + +# 77| Integer +#-----| -> Numeric + +# 86| Kernel + +# 90| Module +#-----| -> Object + +# 96| Object #-----| -> BasicObject -#-----| Array +# 105| Array #-----| -> Object #-----| BasicObject @@ -18,17 +30,6 @@ #-----| Float #-----| -> Numeric -#-----| Hash -#-----| -> Object - -#-----| Integer -#-----| -> Numeric - -#-----| Kernel - -#-----| Module -#-----| -> Object - #-----| NilClass #-----| -> Object @@ -41,7 +42,6 @@ #-----| TrueClass #-----| -> Object -calls.rb: # 15| M # 29| C @@ -50,6 +50,18 @@ calls.rb: # 51| D #-----| -> C +# 82| String +#-----| -> Object + +# 143| S +#-----| -> Object + +# 149| A +#-----| -> S + +# 154| B +#-----| -> S + hello.rb: # 1| EnglishWords