Address review comments

This commit is contained in:
Tom Hvitved
2021-07-02 10:38:53 +02:00
parent 52529d590b
commit 330b33638e
8 changed files with 269 additions and 112 deletions

View File

@@ -105,9 +105,7 @@ class Method extends MethodBase, TMethod {
j > i
)
or
// Top-level methods are private members of the special "main object" (except
// when run through `irb`), see e.g.
// https://codequizzes.wordpress.com/2014/04/23/rubys-main-object-top-level-context/
// Top-level methods are private members of the Object class
this.getEnclosingModule() instanceof Toplevel
}

View File

@@ -29,11 +29,6 @@ class Module extends TModule {
this = TResolved(result)
or
exists(Namespace n | this = TUnresolved(n) and result = "...::" + n.toString())
or
exists(Toplevel t |
this = TMain(t) and
result = "Main(" + t.toString() + ")"
)
}
/** Gets the location of this module. */
@@ -52,11 +47,6 @@ class Module extends TModule {
weight, count(n.getAStmt()) desc, loc.getFile().getAbsolutePath(), loc.getStartLine(),
loc.getStartColumn()
)
or
exists(Toplevel t |
this = TMain(t) and
result = t.getLocation()
)
}
}
@@ -124,7 +114,7 @@ class Toplevel extends ModuleBase, TToplevel {
pred = "getBeginBlock" and result = this.getBeginBlock(_)
}
final override Module getModule() { result = TMain(this) }
final override Module getModule() { result = TResolved("Object") }
final override string toString() { result = g.getLocation().getFile().getBaseName() }
}

View File

@@ -25,8 +25,7 @@ private module Cached {
or
qName = namespaceDeclaration(_)
} or
TUnresolved(Namespace n) { not exists(namespaceDeclaration(n)) } or
TMain(Toplevel t)
TUnresolved(Namespace n) { not exists(namespaceDeclaration(n)) }
cached
string namespaceDeclaration(Namespace n) {
@@ -62,14 +61,11 @@ private module Cached {
result = resolveScopeExpr(d.getSuperclassExpr())
)
or
result = TResolved("Object") and
forex(ClassDeclaration d | d = cls.getADeclaration() |
not exists(resolveScopeExpr(d.getSuperclassExpr()))
) and
result = TMain(cls.getADeclaration().getEnclosingModule())
)
)
or
cls = TMain(_) and
result = TResolved("Object")
}
cached

View File

@@ -91,7 +91,13 @@ class DataFlowCall extends CfgNodes::ExprNodes::CallCfgNode {
self = this.getReceiver().getExpr() and
pragma[only_bind_out](self.getEnclosingModule().getModule().getSuperClass*()) =
pragma[only_bind_out](result.getEnclosingModule().getModule())
)
) and
// For now, we restrict the scope of top-level declarations to their file.
// This may remove some plausible targets, but also removes a lot of
// implausible targets
if result.getEnclosingModule() instanceof Toplevel
then result.getFile() = this.getFile()
else any()
else any()
)
or
@@ -166,7 +172,7 @@ private DataFlow::LocalSourceNode trackInstance(Module tp, TypeTracker t) {
exists(Self self, Toplevel enclosing |
self = result.asExpr().getExpr() and
enclosing = self.getEnclosingModule() and
tp = TMain(enclosing) and
tp = TResolved("Object") and
not self.getEnclosingMethod().getEnclosingModule() = enclosing
)
or

View File

@@ -1,19 +1,3 @@
calls.rb:
# 1| Main(calls.rb)
#-----| super -> Object
hello.rb:
# 1| Main(hello.rb)
#-----| super -> Object
modules.rb:
# 1| Main(modules.rb)
#-----| super -> Object
private.rb:
# 1| Main(private.rb)
#-----| super -> Object
calls.rb:
# 102| Hash
#-----| super -> Object
@@ -67,8 +51,7 @@ calls.rb:
private.rb:
# 1| C
#-----| super -> Main(calls.rb)
#-----| super -> Main(private.rb)
#-----| super -> Object
#-----| include -> M
calls.rb:
@@ -76,10 +59,10 @@ calls.rb:
#-----| super -> C
# 82| String
#-----| super -> Main(calls.rb)
#-----| super -> Object
# 144| S
#-----| super -> Main(calls.rb)
#-----| super -> Object
# 150| A
#-----| super -> S
@@ -91,7 +74,7 @@ hello.rb:
# 1| EnglishWords
# 11| Greeting
#-----| super -> Main(hello.rb)
#-----| super -> Object
#-----| include -> EnglishWords
# 18| HelloWorld
@@ -103,7 +86,7 @@ modules.rb:
# 4| Foo
# 37| Bar
#-----| super -> Main(modules.rb)
#-----| super -> Object
# 60| MyModuleInGlobalScope
@@ -123,15 +106,17 @@ modules.rb:
# 107| MM
# 112| YY
#-----| super -> Main(modules.rb)
#-----| super -> Object
# 115| XX
# 5| Foo::Bar
# 19| Foo::ClassInFoo
#-----| super -> Object
# 30| Foo::ClassInAnotherDefinitionOfFoo
#-----| super -> Object
# 116| XX::YY
#-----| super -> YY
@@ -145,14 +130,17 @@ modules.rb:
# 84| Other::Foo1
# 6| Foo::Bar::ClassInFooBar
#-----| super -> Object
# 71| Test::Foo2::Foo2
# 108| MM::MM
# 49| Foo::Bar::ClassInAnotherDefinitionOfFooBar
#-----| super -> Object
# 66| Test::Foo1::Bar
#-----| super -> Object
# 91| Test::Foo1::Y
@@ -161,5 +149,6 @@ modules.rb:
# 103| Test::Foo2::Y
# 72| Test::Foo2::Foo2::Bar
#-----| super -> Object
# 120| Test::Foo1::Bar::Baz

View File

@@ -1,11 +1,4 @@
getMethod
| calls.rb:1:1:167:16 | Main(calls.rb) | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:1:1:167:16 | Main(calls.rb) | foo | calls.rb:1:1:3:3 | foo |
| calls.rb:1:1:167:16 | Main(calls.rb) | foo | calls.rb:71:1:75:3 | foo |
| calls.rb:1:1:167:16 | Main(calls.rb) | funny | calls.rb:119:1:121:3 | funny |
| calls.rb:1:1:167:16 | Main(calls.rb) | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:1:1:167:16 | Main(calls.rb) | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:1:1:167:16 | Main(calls.rb) | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:15:1:24:3 | M | instance_m | calls.rb:16:5:16:23 | instance_m |
| calls.rb:51:1:55:3 | D | baz | calls.rb:52:5:54:7 | baz |
| calls.rb:77:1:80:3 | Integer | abs | calls.rb:79:5:79:16 | abs |
@@ -16,7 +9,15 @@ getMethod
| calls.rb:90:1:95:3 | Module | module_eval | calls.rb:91:5:91:24 | module_eval |
| calls.rb:90:1:95:3 | Module | prepend | calls.rb:93:5:93:20 | prepend |
| calls.rb:90:1:95:3 | Module | private | calls.rb:94:5:94:20 | private |
| calls.rb:97:1:100:3 | Object | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:97:1:100:3 | Object | foo | calls.rb:1:1:3:3 | foo |
| calls.rb:97:1:100:3 | Object | foo | calls.rb:71:1:75:3 | foo |
| calls.rb:97:1:100:3 | Object | funny | calls.rb:119:1:121:3 | funny |
| calls.rb:97:1:100:3 | Object | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:97:1:100:3 | Object | new | calls.rb:99:5:99:16 | new |
| calls.rb:97:1:100:3 | Object | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:97:1:100:3 | Object | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:97:1:100:3 | Object | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:102:1:104:3 | Hash | [] | calls.rb:103:5:103:15 | [] |
| calls.rb:106:1:117:3 | Array | [] | calls.rb:107:3:107:13 | [] |
| calls.rb:106:1:117:3 | Array | foreach | calls.rb:110:3:116:5 | foreach |
@@ -39,17 +40,7 @@ getMethod
| private.rb:1:1:19:3 | C | private3 | private.rb:14:3:15:5 | private3 |
| private.rb:1:1:19:3 | C | private4 | private.rb:17:3:18:5 | private4 |
| private.rb:1:1:19:3 | C | public | private.rb:5:3:6:5 | public |
| private.rb:1:1:30:15 | Main(private.rb) | private_on_main | private.rb:21:1:22:3 | private_on_main |
lookupMethod
| calls.rb:1:1:167:16 | Main(calls.rb) | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:1:1:167:16 | Main(calls.rb) | foo | calls.rb:1:1:3:3 | foo |
| calls.rb:1:1:167:16 | Main(calls.rb) | foo | calls.rb:71:1:75:3 | foo |
| calls.rb:1:1:167:16 | Main(calls.rb) | funny | calls.rb:119:1:121:3 | funny |
| calls.rb:1:1:167:16 | Main(calls.rb) | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:1:1:167:16 | Main(calls.rb) | new | calls.rb:99:5:99:16 | new |
| calls.rb:1:1:167:16 | Main(calls.rb) | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:1:1:167:16 | Main(calls.rb) | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:1:1:167:16 | Main(calls.rb) | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:15:1:24:3 | M | instance_m | calls.rb:16:5:16:23 | instance_m |
| 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 |
@@ -69,7 +60,15 @@ lookupMethod
| 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:119:1:121:3 | funny |
| calls.rb:77:1:80:3 | Integer | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:77:1:80:3 | Integer | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:77:1:80:3 | Integer | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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 |
@@ -80,23 +79,56 @@ lookupMethod
| calls.rb:82:1:84:3 | String | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:82:1:84:3 | String | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:95:3 | Module | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:90:1:95:3 | Module | foo | calls.rb:1:1:3:3 | foo |
| calls.rb:90:1:95:3 | Module | foo | calls.rb:71:1:75:3 | foo |
| calls.rb:90:1:95:3 | Module | funny | calls.rb:119:1:121:3 | funny |
| calls.rb:90:1:95:3 | Module | include | calls.rb:92:5:92:20 | include |
| calls.rb:90:1:95:3 | Module | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:90:1:95:3 | Module | module_eval | calls.rb:91:5:91:24 | module_eval |
| calls.rb:90:1:95:3 | Module | new | calls.rb:99:5:99:16 | new |
| calls.rb:90:1:95:3 | Module | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:90:1:95:3 | Module | prepend | calls.rb:93:5:93:20 | prepend |
| calls.rb:90:1:95:3 | Module | private | calls.rb:94:5:94:20 | private |
| calls.rb:90:1:95:3 | Module | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:90:1:95:3 | Module | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:90:1:95:3 | Module | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:97:1:100:3 | Object | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:97:1:100:3 | Object | foo | calls.rb:1:1:3:3 | foo |
| calls.rb:97:1:100:3 | Object | foo | calls.rb:71:1:75:3 | foo |
| calls.rb:97:1:100:3 | Object | funny | calls.rb:119:1:121:3 | funny |
| calls.rb:97:1:100:3 | Object | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:97:1:100:3 | Object | new | calls.rb:99:5:99:16 | new |
| calls.rb:97:1:100:3 | Object | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:97:1:100:3 | Object | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:97:1:100:3 | Object | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:97:1:100:3 | Object | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:102:1:104:3 | Hash | [] | calls.rb:103:5:103:15 | [] |
| calls.rb:102:1:104:3 | Hash | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:102:1:104:3 | Hash | foo | calls.rb:1:1:3:3 | foo |
| calls.rb:102:1:104:3 | Hash | foo | calls.rb:71:1:75:3 | foo |
| calls.rb:102:1:104:3 | Hash | funny | calls.rb:119:1:121:3 | funny |
| calls.rb:102:1:104:3 | Hash | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:102:1:104:3 | Hash | new | calls.rb:99:5:99:16 | new |
| calls.rb:102:1:104:3 | Hash | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:102:1:104:3 | Hash | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:102:1:104:3 | Hash | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:102:1:104:3 | Hash | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:106:1:117:3 | Array | [] | calls.rb:107:3:107:13 | [] |
| calls.rb:106:1:117:3 | Array | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:106:1:117:3 | Array | foo | calls.rb:1:1:3:3 | foo |
| calls.rb:106:1:117:3 | Array | foo | calls.rb:71:1:75:3 | foo |
| calls.rb:106:1:117:3 | Array | foreach | calls.rb:110:3:116:5 | foreach |
| calls.rb:106:1:117:3 | Array | funny | calls.rb:119:1:121:3 | funny |
| calls.rb:106:1:117:3 | Array | indirect | calls.rb:137:1:139:3 | indirect |
| calls.rb:106:1:117:3 | Array | length | calls.rb:108:3:108:17 | length |
| calls.rb:106:1:117:3 | Array | new | calls.rb:99:5:99:16 | new |
| calls.rb:106:1:117:3 | Array | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:106:1:117:3 | Array | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:106:1:117:3 | Array | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:106:1:117:3 | Array | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:144:1:148:3 | S | call_block | calls.rb:67:1:69:3 | call_block |
| calls.rb:144:1:148:3 | S | foo | calls.rb:1:1:3:3 | foo |
@@ -106,6 +138,7 @@ lookupMethod
| calls.rb:144:1:148:3 | S | new | calls.rb:99:5:99:16 | new |
| calls.rb:144:1:148:3 | S | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:144:1:148:3 | S | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:144:1:148:3 | S | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:144:1:148:3 | S | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:144:1:148:3 | S | s_method | calls.rb:145:5:147:7 | s_method |
| calls.rb:150:1:153:3 | A | call_block | calls.rb:67:1:69:3 | call_block |
@@ -116,6 +149,7 @@ lookupMethod
| calls.rb:150:1:153:3 | A | new | calls.rb:99:5:99:16 | new |
| calls.rb:150:1:153:3 | A | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:150:1:153:3 | A | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:150:1:153:3 | A | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:150:1:153:3 | A | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:150:1:153:3 | A | s_method | calls.rb:145:5:147:7 | s_method |
| calls.rb:150:1:153:3 | A | to_s | calls.rb:151:5:152:7 | to_s |
@@ -127,56 +161,217 @@ lookupMethod
| calls.rb:155:1:158:3 | B | new | calls.rb:99:5:99:16 | new |
| calls.rb:155:1:158:3 | B | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| calls.rb:155:1:158:3 | B | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| calls.rb:155:1:158:3 | B | private_on_main | private.rb:21:1:22:3 | private_on_main |
| calls.rb:155:1:158:3 | B | puts | calls.rb:87:5:87:17 | puts |
| calls.rb:155:1:158:3 | B | s_method | calls.rb:145:5:147:7 | s_method |
| calls.rb:155:1:158:3 | B | to_s | calls.rb:156:5:157: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:119:1:121: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:137:1:139: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:99:5:99: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 | private | calls.rb:94:5:94:20 | private |
| file://:0:0:0:0 | Class | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | Class | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| file://:0:0:0:0 | Complex | indirect | calls.rb:137:1:139:3 | indirect |
| file://:0:0:0:0 | Complex | new | calls.rb:99:5:99:16 | new |
| file://:0:0:0:0 | Complex | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| file://:0:0:0:0 | Complex | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | Complex | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| file://:0:0:0:0 | FalseClass | indirect | calls.rb:137:1:139:3 | indirect |
| file://:0:0:0:0 | FalseClass | new | calls.rb:99:5:99:16 | new |
| file://:0:0:0:0 | FalseClass | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| file://:0:0:0:0 | FalseClass | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | FalseClass | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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 | Float | foo | calls.rb:71:1:75:3 | foo |
| file://:0:0:0:0 | Float | funny | calls.rb:119:1:121:3 | funny |
| file://:0:0:0:0 | Float | indirect | calls.rb:137:1:139:3 | indirect |
| file://:0:0:0:0 | Float | new | calls.rb:99:5:99:16 | new |
| file://:0:0:0:0 | Float | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| file://:0:0:0:0 | Float | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | Float | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| file://:0:0:0:0 | NilClass | indirect | calls.rb:137:1:139:3 | indirect |
| file://:0:0:0:0 | NilClass | new | calls.rb:99:5:99:16 | new |
| file://:0:0:0:0 | NilClass | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| file://:0:0:0:0 | NilClass | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | NilClass | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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 | Numeric | foo | calls.rb:71:1:75:3 | foo |
| file://:0:0:0:0 | Numeric | funny | calls.rb:119:1:121:3 | funny |
| file://:0:0:0:0 | Numeric | indirect | calls.rb:137:1:139:3 | indirect |
| file://:0:0:0:0 | Numeric | new | calls.rb:99:5:99:16 | new |
| file://:0:0:0:0 | Numeric | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| file://:0:0:0:0 | Numeric | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | Numeric | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| file://:0:0:0:0 | Rational | indirect | calls.rb:137:1:139:3 | indirect |
| file://:0:0:0:0 | Rational | new | calls.rb:99:5:99:16 | new |
| file://:0:0:0:0 | Rational | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| file://:0:0:0:0 | Rational | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | Rational | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| file://:0:0:0:0 | TrueClass | indirect | calls.rb:137:1:139:3 | indirect |
| file://:0:0:0:0 | TrueClass | new | calls.rb:99:5:99:16 | new |
| file://:0:0:0:0 | TrueClass | optional_arg | calls.rb:62:1:65:3 | optional_arg |
| file://:0:0:0:0 | TrueClass | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| file://:0:0:0:0 | TrueClass | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:1:1:22:3 | Main(hello.rb) | new | calls.rb:99:5:99:16 | new |
| hello.rb:1:1:22:3 | Main(hello.rb) | puts | calls.rb:87:5:87:17 | puts |
| 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:119:1:121: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:137:1:139: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:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| hello.rb:11:1:16:3 | Greeting | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121: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:137:1:139: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:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| hello.rb:18:1:22:3 | HelloWorld | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:1:1:122:1 | Main(modules.rb) | new | calls.rb:99:5:99:16 | new |
| modules.rb:1:1:122:1 | Main(modules.rb) | puts | calls.rb:87:5:87:17 | puts |
| 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:119:1:121:3 | funny |
| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:19:3:20:5 | Foo::ClassInFoo | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:19:3:20:5 | Foo::ClassInFoo | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:19:3:20:5 | Foo::ClassInFoo | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:37:1:46:3 | Bar | indirect | calls.rb:137:1:139: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:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:37:1:46:3 | Bar | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:66:5:67:7 | Test::Foo1::Bar | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:66:5:67:7 | Test::Foo1::Bar | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:66:5:67:7 | Test::Foo1::Bar | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:112:1:113:3 | YY | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:112:1:113:3 | YY | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:112:1:113:3 | YY | private_on_main | private.rb:21:1:22:3 | private_on_main |
| 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:119:1:121:3 | funny |
| modules.rb:116:7:117:9 | XX::YY | indirect | calls.rb:137:1:139:3 | indirect |
| modules.rb:116:7:117:9 | XX::YY | new | calls.rb:99:5:99: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 | private_on_main | calls.rb:164:1:165:3 | private_on_main |
| modules.rb:116:7:117:9 | XX::YY | private_on_main | private.rb:21:1:22:3 | private_on_main |
| modules.rb:116:7:117:9 | XX::YY | puts | calls.rb:87:5:87:17 | puts |
| private.rb:1:1:19:3 | C | baz | calls.rb:37:5:43:7 | baz |
| private.rb:1:1:19:3 | C | call_block | calls.rb:67:1:69:3 | call_block |
@@ -194,6 +389,3 @@ lookupMethod
| private.rb:1:1:19:3 | C | private_on_main | private.rb:21:1:22:3 | private_on_main |
| private.rb:1:1:19:3 | C | public | private.rb:5:3:6:5 | public |
| private.rb:1:1:19:3 | C | puts | calls.rb:87:5:87:17 | puts |
| private.rb:1:1:30:15 | Main(private.rb) | new | calls.rb:99:5:99:16 | new |
| private.rb:1:1:30:15 | Main(private.rb) | private_on_main | private.rb:21:1:22:3 | private_on_main |
| private.rb:1:1:30:15 | Main(private.rb) | puts | calls.rb:87:5:87:17 | puts |

View File

@@ -1,5 +1,4 @@
getModule
| calls.rb:1:1:167:16 | Main(calls.rb) |
| calls.rb:15:1:24:3 | M |
| calls.rb:51:1:55:3 | D |
| calls.rb:77:1:80:3 | Integer |
@@ -24,11 +23,9 @@ getModule
| file://:0:0:0:0 | Symbol |
| file://:0:0:0:0 | TrueClass |
| hello.rb:1:1:8:3 | EnglishWords |
| hello.rb:1:1:22:3 | Main(hello.rb) |
| hello.rb:11:1:16:3 | Greeting |
| hello.rb:18:1:22:3 | HelloWorld |
| modules.rb:1:1:2:3 | Empty |
| modules.rb:1:1:122:1 | Main(modules.rb) |
| modules.rb:4:1:24:3 | Foo |
| modules.rb:5:3:14:5 | Foo::Bar |
| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar |
@@ -59,27 +56,27 @@ getModule
| modules.rb:116:7:117:9 | XX::YY |
| modules.rb:120:1:121:3 | Test::Foo1::Bar::Baz |
| private.rb:1:1:19:3 | C |
| private.rb:1:1:30:15 | Main(private.rb) |
getADeclaration
| calls.rb:1:1:167:16 | Main(calls.rb) | calls.rb:1:1:167:16 | calls.rb |
| calls.rb:15:1:24:3 | M | calls.rb:15:1:24:3 | M |
| calls.rb:51:1:55:3 | D | calls.rb:51:1:55:3 | D |
| 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:95:3 | Module | calls.rb:90:1:95:3 | Module |
| calls.rb:97:1:100:3 | Object | calls.rb:1:1:167:16 | calls.rb |
| calls.rb:97:1:100:3 | Object | calls.rb:97:1:100:3 | Object |
| calls.rb:97:1:100:3 | Object | hello.rb:1:1:22:3 | hello.rb |
| calls.rb:97:1:100:3 | Object | modules.rb:1:1:122:1 | modules.rb |
| calls.rb:97:1:100:3 | Object | private.rb:1:1:30:15 | private.rb |
| calls.rb:102:1:104:3 | Hash | calls.rb:102:1:104:3 | Hash |
| calls.rb:106:1:117:3 | Array | calls.rb:106:1:117:3 | Array |
| calls.rb:144:1:148:3 | S | calls.rb:144:1:148:3 | S |
| calls.rb:150:1:153:3 | A | calls.rb:150:1:153:3 | A |
| calls.rb:155:1:158:3 | B | calls.rb:155:1:158:3 | B |
| hello.rb:1:1:8:3 | EnglishWords | hello.rb:1:1:8:3 | EnglishWords |
| hello.rb:1:1:22:3 | Main(hello.rb) | hello.rb:1:1:22:3 | hello.rb |
| 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 |
| modules.rb:1:1:2:3 | Empty | modules.rb:1:1:2:3 | Empty |
| modules.rb:1:1:122:1 | Main(modules.rb) | modules.rb:1:1:122:1 | modules.rb |
| modules.rb:4:1:24:3 | Foo | modules.rb:4:1:24:3 | Foo |
| modules.rb:4:1:24:3 | Foo | modules.rb:26:1:35:3 | Foo |
| modules.rb:5:3:14:5 | Foo::Bar | modules.rb:5:3:14:5 | Bar |
@@ -114,17 +111,15 @@ getADeclaration
| modules.rb:120:1:121:3 | Test::Foo1::Bar::Baz | modules.rb:120:1:121:3 | Baz |
| private.rb:1:1:19:3 | C | calls.rb:29:1:44:3 | C |
| private.rb:1:1:19:3 | C | private.rb:1:1:19:3 | C |
| private.rb:1:1:30:15 | Main(private.rb) | private.rb:1:1:30:15 | private.rb |
getSuperClass
| calls.rb:1:1:167:16 | Main(calls.rb) | calls.rb:97:1:100:3 | Object |
| calls.rb:51:1:55:3 | D | private.rb:1:1:19:3 | C |
| calls.rb:77:1:80:3 | Integer | file://:0:0:0:0 | Numeric |
| calls.rb:82:1:84:3 | String | calls.rb:1:1:167:16 | Main(calls.rb) |
| calls.rb:82:1:84:3 | String | calls.rb:97:1:100:3 | Object |
| calls.rb:90:1:95:3 | Module | calls.rb:97:1:100:3 | Object |
| calls.rb:97:1:100:3 | Object | file://:0:0:0:0 | BasicObject |
| calls.rb:102:1:104:3 | Hash | calls.rb:97:1:100:3 | Object |
| calls.rb:106:1:117:3 | Array | calls.rb:97:1:100:3 | Object |
| calls.rb:144:1:148:3 | S | calls.rb:1:1:167:16 | Main(calls.rb) |
| calls.rb:144:1:148:3 | S | calls.rb:97:1:100:3 | Object |
| calls.rb:150:1:153:3 | A | calls.rb:144:1:148:3 | S |
| calls.rb:155:1:158:3 | B | calls.rb:144:1:148:3 | S |
| file://:0:0:0:0 | Class | calls.rb:90:1:95:3 | Module |
@@ -135,16 +130,18 @@ getSuperClass
| file://:0:0:0:0 | Numeric | calls.rb:97:1:100:3 | Object |
| file://:0:0:0:0 | Rational | file://:0:0:0:0 | Numeric |
| file://:0:0:0:0 | TrueClass | calls.rb:97:1:100:3 | Object |
| hello.rb:1:1:22:3 | Main(hello.rb) | calls.rb:97:1:100:3 | Object |
| hello.rb:11:1:16:3 | Greeting | hello.rb:1:1:22:3 | Main(hello.rb) |
| hello.rb:11:1:16:3 | Greeting | calls.rb:97:1:100:3 | Object |
| hello.rb:18:1:22:3 | HelloWorld | hello.rb:11:1:16:3 | Greeting |
| modules.rb:1:1:122:1 | Main(modules.rb) | calls.rb:97:1:100:3 | Object |
| modules.rb:37:1:46:3 | Bar | modules.rb:1:1:122:1 | Main(modules.rb) |
| modules.rb:112:1:113:3 | YY | modules.rb:1:1:122:1 | Main(modules.rb) |
| modules.rb:6:5:7:7 | Foo::Bar::ClassInFooBar | calls.rb:97:1:100:3 | Object |
| modules.rb:19:3:20:5 | Foo::ClassInFoo | calls.rb:97:1:100:3 | Object |
| modules.rb:30:3:31:5 | Foo::ClassInAnotherDefinitionOfFoo | calls.rb:97:1:100:3 | Object |
| modules.rb:37:1:46:3 | Bar | calls.rb:97:1:100:3 | Object |
| modules.rb:49:3:50:5 | Foo::Bar::ClassInAnotherDefinitionOfFooBar | calls.rb:97:1:100:3 | Object |
| modules.rb:66:5:67:7 | Test::Foo1::Bar | calls.rb:97:1:100:3 | Object |
| modules.rb:72:5:73:7 | Test::Foo2::Foo2::Bar | calls.rb:97:1:100:3 | Object |
| modules.rb:112:1:113:3 | YY | calls.rb:97:1:100:3 | Object |
| modules.rb:116:7:117:9 | XX::YY | modules.rb:112:1:113:3 | YY |
| private.rb:1:1:19:3 | C | calls.rb:1:1:167:16 | Main(calls.rb) |
| private.rb:1:1:19:3 | C | private.rb:1:1:30:15 | Main(private.rb) |
| private.rb:1:1:30:15 | Main(private.rb) | calls.rb:97:1:100:3 | Object |
| private.rb:1:1:19:3 | C | calls.rb:97:1:100:3 | Object |
getAPrependedModule
| modules.rb:101:1:105:3 | PrependTest | modules.rb:63:1:81:3 | Test |
getAnIncludedModule

View File

@@ -1,19 +1,3 @@
calls.rb:
# 1| Main(calls.rb)
#-----| -> Object
hello.rb:
# 1| Main(hello.rb)
#-----| -> Object
modules.rb:
# 1| Main(modules.rb)
#-----| -> Object
private.rb:
# 1| Main(private.rb)
#-----| -> Object
calls.rb:
# 102| Hash
#-----| -> Object
@@ -66,18 +50,17 @@ calls.rb:
private.rb:
# 1| C
#-----| -> Main(calls.rb)
#-----| -> Main(private.rb)
#-----| -> Object
calls.rb:
# 51| D
#-----| -> C
# 82| String
#-----| -> Main(calls.rb)
#-----| -> Object
# 144| S
#-----| -> Main(calls.rb)
#-----| -> Object
# 150| A
#-----| -> S
@@ -89,7 +72,7 @@ hello.rb:
# 1| EnglishWords
# 11| Greeting
#-----| -> Main(hello.rb)
#-----| -> Object
# 18| HelloWorld
#-----| -> Greeting
@@ -100,7 +83,7 @@ modules.rb:
# 4| Foo
# 37| Bar
#-----| -> Main(modules.rb)
#-----| -> Object
# 60| MyModuleInGlobalScope
@@ -117,15 +100,17 @@ modules.rb:
# 107| MM
# 112| YY
#-----| -> Main(modules.rb)
#-----| -> Object
# 115| XX
# 5| Foo::Bar
# 19| Foo::ClassInFoo
#-----| -> Object
# 30| Foo::ClassInAnotherDefinitionOfFoo
#-----| -> Object
# 116| XX::YY
#-----| -> YY
@@ -139,14 +124,17 @@ modules.rb:
# 84| Other::Foo1
# 6| Foo::Bar::ClassInFooBar
#-----| -> Object
# 71| Test::Foo2::Foo2
# 108| MM::MM
# 49| Foo::Bar::ClassInAnotherDefinitionOfFooBar
#-----| -> Object
# 66| Test::Foo1::Bar
#-----| -> Object
# 91| Test::Foo1::Y
@@ -155,5 +143,6 @@ modules.rb:
# 103| Test::Foo2::Y
# 72| Test::Foo2::Foo2::Bar
#-----| -> Object
# 120| Test::Foo1::Bar::Baz