rubybreaker 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. data/NEWS +5 -0
  2. data/NOTES +9 -0
  3. data/README.md +100 -183
  4. data/Rakefile +21 -6
  5. data/VERSION +1 -1
  6. data/bin/rubybreaker +34 -50
  7. data/lib/rubybreaker/debug/debug.rb +6 -0
  8. data/lib/rubybreaker/doc/rdoc.rb +37 -0
  9. data/lib/rubybreaker/doc.rb +3 -0
  10. data/lib/rubybreaker/runtime/inspector.rb +6 -28
  11. data/lib/rubybreaker/runtime/monitor.rb +21 -17
  12. data/lib/rubybreaker/runtime/object_wrapper.rb +7 -2
  13. data/lib/rubybreaker/runtime/type_system.rb +3 -5
  14. data/lib/rubybreaker/runtime/typesig_unparser.rb +1 -4
  15. data/lib/rubybreaker/runtime.rb +64 -105
  16. data/lib/rubybreaker/task.rb +97 -0
  17. data/lib/rubybreaker/test/rspec.rb +1 -1
  18. data/lib/rubybreaker/test/testcase.rb +13 -28
  19. data/lib/rubybreaker/type/type.rb +1 -1
  20. data/lib/rubybreaker/typing/subtyping.rb +10 -5
  21. data/lib/rubybreaker/util.rb +0 -1
  22. data/lib/rubybreaker.rb +163 -115
  23. data/test/integrated/tc_both_broken_breakable.rb +5 -4
  24. data/test/integrated/tc_class_methods.rb +4 -3
  25. data/test/integrated/tc_inherit_broken.rb +4 -3
  26. data/test/integrated/tc_method_missing.rb +4 -4
  27. data/test/integrated/tc_namespace.rb +4 -2
  28. data/test/integrated/tc_simple1.rb +4 -3
  29. data/test/runtime/tc_obj_wrapper.rb +25 -6
  30. data/test/runtime/tc_typesig_parser.rb +0 -1
  31. data/test/testtask/sample.rb +10 -0
  32. data/test/testtask/tc_testtask.rb +25 -0
  33. data/test/ts_rspec.rb +21 -15
  34. data/test/typing/tc_typing.rb +2 -3
  35. data/webpage/index.html +105 -193
  36. data/webpage/rdoc/Kernel.html +286 -0
  37. data/webpage/rdoc/Object.html +17 -11
  38. data/webpage/rdoc/Rake/RubyBreakerTestTask.html +374 -0
  39. data/webpage/rdoc/Rake.html +212 -0
  40. data/webpage/rdoc/RubyBreaker/Breakable.html +24 -40
  41. data/webpage/rdoc/RubyBreaker/Broken.html +21 -69
  42. data/webpage/rdoc/RubyBreaker/Context.html +16 -10
  43. data/webpage/rdoc/RubyBreaker/Errors/InternalError.html +16 -10
  44. data/webpage/rdoc/RubyBreaker/Errors/InvalidSubtypeCheck.html +16 -10
  45. data/webpage/rdoc/RubyBreaker/Errors/InvalidTypeConstruction.html +16 -10
  46. data/webpage/rdoc/RubyBreaker/Errors/SubtypeFailure.html +16 -10
  47. data/webpage/rdoc/RubyBreaker/Errors/TypeError.html +16 -10
  48. data/webpage/rdoc/RubyBreaker/Errors/UserError.html +16 -10
  49. data/webpage/rdoc/RubyBreaker/Errors.html +16 -10
  50. data/webpage/rdoc/RubyBreaker/ObjectPosition.html +16 -10
  51. data/webpage/rdoc/RubyBreaker/Position.html +16 -10
  52. data/webpage/rdoc/RubyBreaker/{TestCase.html → RDocSupport.html} +81 -82
  53. data/webpage/rdoc/RubyBreaker/RubyTypeUtils.html +16 -10
  54. data/webpage/rdoc/RubyBreaker/Runtime/Inspector.html +25 -44
  55. data/webpage/rdoc/RubyBreaker/Runtime/MethodInfo.html +16 -10
  56. data/webpage/rdoc/RubyBreaker/Runtime/Monitor.html +19 -13
  57. data/webpage/rdoc/RubyBreaker/Runtime/MonitorInstaller.html +37 -25
  58. data/webpage/rdoc/RubyBreaker/Runtime/MonitorSwitch.html +20 -14
  59. data/webpage/rdoc/RubyBreaker/Runtime/MonitorUtils.html +21 -15
  60. data/webpage/rdoc/RubyBreaker/Runtime/ObjectWrapper.html +23 -12
  61. data/webpage/rdoc/RubyBreaker/Runtime/Pluggable.html +16 -10
  62. data/webpage/rdoc/RubyBreaker/Runtime/TypeSigParser.html +16 -10
  63. data/webpage/rdoc/RubyBreaker/Runtime/{TypesigUnparser.html → TypeSigUnparser.html} +19 -16
  64. data/webpage/rdoc/RubyBreaker/Runtime/TypeSystem.html +18 -14
  65. data/webpage/rdoc/RubyBreaker/Runtime.html +145 -11
  66. data/webpage/rdoc/RubyBreaker/TypeComparer.html +16 -10
  67. data/webpage/rdoc/RubyBreaker/TypeDefs/AnyType.html +16 -10
  68. data/webpage/rdoc/RubyBreaker/TypeDefs/BlockType.html +16 -10
  69. data/webpage/rdoc/RubyBreaker/TypeDefs/DuckType.html +16 -10
  70. data/webpage/rdoc/RubyBreaker/TypeDefs/FusionType.html +16 -10
  71. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodListType.html +16 -10
  72. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodType.html +16 -10
  73. data/webpage/rdoc/RubyBreaker/TypeDefs/NilType.html +16 -10
  74. data/webpage/rdoc/RubyBreaker/TypeDefs/NominalType.html +16 -10
  75. data/webpage/rdoc/RubyBreaker/TypeDefs/OptionalType.html +16 -10
  76. data/webpage/rdoc/RubyBreaker/TypeDefs/OrType.html +16 -10
  77. data/webpage/rdoc/RubyBreaker/TypeDefs/SelfType.html +17 -11
  78. data/webpage/rdoc/RubyBreaker/TypeDefs/Type.html +17 -11
  79. data/webpage/rdoc/RubyBreaker/TypeDefs/VarLengthType.html +16 -10
  80. data/webpage/rdoc/RubyBreaker/TypeDefs.html +16 -10
  81. data/webpage/rdoc/RubyBreaker/TypeUnparser.html +16 -10
  82. data/webpage/rdoc/RubyBreaker/Typing.html +17 -11
  83. data/webpage/rdoc/RubyBreaker/Util.html +16 -10
  84. data/webpage/rdoc/RubyBreaker.html +167 -34
  85. data/webpage/rdoc/{RubyBreaker/Runtime/TypePlaceholder.html → Test/Unit/TestCase.html} +68 -39
  86. data/webpage/rdoc/Test/Unit.html +211 -0
  87. data/webpage/rdoc/Test.html +211 -0
  88. data/webpage/rdoc/created.rid +18 -17
  89. data/webpage/rdoc/index.html +16 -10
  90. data/webpage/rdoc/js/search_index.js +1 -1
  91. data/webpage/rdoc/table_of_contents.html +61 -48
  92. metadata +21 -12
  93. data/lib/rubybreaker/rubylib/core.rb +0 -2483
  94. data/lib/rubybreaker/rubylib.rb +0 -3
  95. data/lib/rubybreaker/runtime/type_placeholder.rb +0 -23
  96. data/webpage/rdoc/RubyBreaker/Broken/BrokenEigen.html +0 -305
  97. data/webpage/rdoc/RubyBreaker/Main.html +0 -458
@@ -88,8 +88,6 @@
88
88
 
89
89
  <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
90
90
 
91
- <li><a href="../../RubyBreaker/Broken/BrokenEigen.html">RubyBreaker::Broken::BrokenEigen</a>
92
-
93
91
  <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
94
92
 
95
93
  <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
@@ -106,12 +104,12 @@
106
104
 
107
105
  <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
108
106
 
109
- <li><a href="../../RubyBreaker/Main.html">RubyBreaker::Main</a>
110
-
111
107
  <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
112
108
 
113
109
  <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
114
110
 
111
+ <li><a href="../../RubyBreaker/RDocSupport.html">RubyBreaker::RDocSupport</a>
112
+
115
113
  <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
116
114
 
117
115
  <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
@@ -132,15 +130,11 @@
132
130
 
133
131
  <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
134
132
 
135
- <li><a href="../../RubyBreaker/Runtime/TypePlaceholder.html">RubyBreaker::Runtime::TypePlaceholder</a>
136
-
137
133
  <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
138
134
 
139
- <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
140
-
141
- <li><a href="../../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
135
+ <li><a href="../../RubyBreaker/Runtime/TypeSigUnparser.html">RubyBreaker::Runtime::TypeSigUnparser</a>
142
136
 
143
- <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
137
+ <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
144
138
 
145
139
  <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
146
140
 
@@ -178,6 +172,18 @@
178
172
 
179
173
  <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
180
174
 
175
+ <li><a href="../../Test.html">Test</a>
176
+
177
+ <li><a href="../../Test/Unit.html">Test::Unit</a>
178
+
179
+ <li><a href="../../Test/Unit/TestCase.html">Test::Unit::TestCase</a>
180
+
181
+ <li><a href="../../Rake.html">Rake</a>
182
+
183
+ <li><a href="../../Rake/RubyBreakerTestTask.html">Rake::RubyBreakerTestTask</a>
184
+
185
+ <li><a href="../../Kernel.html">Kernel</a>
186
+
181
187
  <li><a href="../../Object.html">Object</a>
182
188
 
183
189
  </ul>
@@ -229,7 +235,7 @@
229
235
 
230
236
 
231
237
  <div class="method-source-code" id="get_alt_meth_name-source">
232
- <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/monitor.rb, line 173</span>
238
+ <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/monitor.rb, line 171</span>
233
239
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get_alt_meth_name</span>(<span class="ruby-identifier">meth_name</span>)
234
240
  <span class="ruby-keyword">return</span> <span class="ruby-node">&quot;__#{meth_name}&quot;</span>
235
241
  <span class="ruby-keyword">end</span></pre>
@@ -259,7 +265,7 @@
259
265
 
260
266
 
261
267
  <div class="method-source-code" id="get_orig_meth_name-source">
262
- <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/monitor.rb, line 178</span>
268
+ <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/monitor.rb, line 176</span>
263
269
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get_orig_meth_name</span>(<span class="ruby-identifier">meth_name</span>)
264
270
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">meth_name</span>[<span class="ruby-value">2</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
265
271
  <span class="ruby-keyword">end</span></pre>
@@ -304,7 +310,7 @@ call.</p>
304
310
 
305
311
 
306
312
  <div class="method-source-code" id="route-source">
307
- <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/monitor.rb, line 101</span>
313
+ <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/monitor.rb, line 99</span>
308
314
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">route</span>(<span class="ruby-identifier">obj</span>,<span class="ruby-identifier">meth_name</span>,*<span class="ruby-identifier">args</span>,&amp;<span class="ruby-identifier">blk</span>)
309
315
 
310
316
  <span class="ruby-comment"># remember the switch mode before turning it off</span>
@@ -339,11 +345,11 @@ call.</p>
339
345
  <span class="ruby-identifier">mod</span> = <span class="ruby-identifier">is_obj_mod</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Runtime</span>.<span class="ruby-identifier">eigen_class</span>(<span class="ruby-identifier">obj</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">class</span>
340
346
 
341
347
  <span class="ruby-comment"># mm = get_module_monitor(mod) unless is_obj_mod</span>
342
- <span class="ruby-identifier">mm</span> = <span class="ruby-constant">Breakable</span><span class="ruby-operator">::</span><span class="ruby-constant">MONITOR_MAP</span>[<span class="ruby-identifier">mod</span>]
348
+ <span class="ruby-identifier">mm</span> = <span class="ruby-constant">MONITOR_MAP</span>[<span class="ruby-identifier">mod</span>]
343
349
 
344
350
  <span class="ruby-comment"># There is something wrong if there isn't a module monitor</span>
345
351
  <span class="ruby-comment"># associated with the call.</span>
346
- <span class="ruby-comment"># raise Exception if mm == nil || !mm.meth_type_map.include?(meth_name)</span>
352
+ <span class="ruby-comment"># raise Exception if mm == nil || !mm.include?(meth_name)</span>
347
353
 
348
354
  <span class="ruby-identifier">meth_info</span> = <span class="ruby-constant">MethodInfo</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">meth_name</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">blk</span>, <span class="ruby-keyword">nil</span>)
349
355
 
@@ -98,8 +98,6 @@
98
98
 
99
99
  <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
100
100
 
101
- <li><a href="../../RubyBreaker/Broken/BrokenEigen.html">RubyBreaker::Broken::BrokenEigen</a>
102
-
103
101
  <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
104
102
 
105
103
  <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
@@ -116,12 +114,12 @@
116
114
 
117
115
  <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
118
116
 
119
- <li><a href="../../RubyBreaker/Main.html">RubyBreaker::Main</a>
120
-
121
117
  <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
122
118
 
123
119
  <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
124
120
 
121
+ <li><a href="../../RubyBreaker/RDocSupport.html">RubyBreaker::RDocSupport</a>
122
+
125
123
  <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
126
124
 
127
125
  <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
@@ -142,15 +140,11 @@
142
140
 
143
141
  <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
144
142
 
145
- <li><a href="../../RubyBreaker/Runtime/TypePlaceholder.html">RubyBreaker::Runtime::TypePlaceholder</a>
146
-
147
143
  <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
148
144
 
149
- <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
150
-
151
- <li><a href="../../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
145
+ <li><a href="../../RubyBreaker/Runtime/TypeSigUnparser.html">RubyBreaker::Runtime::TypeSigUnparser</a>
152
146
 
153
- <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
147
+ <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
154
148
 
155
149
  <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
156
150
 
@@ -188,6 +182,18 @@
188
182
 
189
183
  <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
190
184
 
185
+ <li><a href="../../Test.html">Test</a>
186
+
187
+ <li><a href="../../Test/Unit.html">Test::Unit</a>
188
+
189
+ <li><a href="../../Test/Unit/TestCase.html">Test::Unit::TestCase</a>
190
+
191
+ <li><a href="../../Rake.html">Rake</a>
192
+
193
+ <li><a href="../../Rake/RubyBreakerTestTask.html">Rake::RubyBreakerTestTask</a>
194
+
195
+ <li><a href="../../Kernel.html">Kernel</a>
196
+
191
197
  <li><a href="../../Object.html">Object</a>
192
198
 
193
199
  </ul>
@@ -346,11 +352,16 @@ instance_exec</p>
346
352
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">mname</span>,*<span class="ruby-identifier">args</span>,&amp;<span class="ruby-identifier">blk</span>)
347
353
  <span class="ruby-operator">::</span><span class="ruby-constant">RubyBreaker</span>.<span class="ruby-identifier">log</span>(<span class="ruby-node">&quot;Method_missing for #{mname}&quot;</span>)
348
354
  <span class="ruby-keyword">if</span> <span class="ruby-constant">GLOBAL_MONITOR_SWITCH</span>.<span class="ruby-identifier">switch</span>
355
+ <span class="ruby-comment"># Must handle send method specially (do not track them)</span>
356
+ <span class="ruby-keyword">if</span> [<span class="ruby-value">:&quot;__send__&quot;</span>, <span class="ruby-value">:send</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">mname</span>)
357
+ <span class="ruby-identifier">mname</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>]
358
+ <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
359
+ <span class="ruby-keyword">end</span>
349
360
  <span class="ruby-ivar">@__rubybreaker_type</span>.<span class="ruby-identifier">add_meth</span>(<span class="ruby-identifier">mname</span>)
350
- <span class="ruby-identifier">retval</span> = <span class="ruby-ivar">@__rubybreaker_obj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">mname</span>,*<span class="ruby-identifier">args</span>,&amp;<span class="ruby-identifier">blk</span>)
361
+ <span class="ruby-identifier">retval</span> = <span class="ruby-ivar">@__rubybreaker_obj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">mname</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">blk</span>)
351
362
  <span class="ruby-identifier">retval</span> = <span class="ruby-constant">ObjectWrapper</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">retval</span>)
352
363
  <span class="ruby-keyword">else</span>
353
- <span class="ruby-identifier">retval</span> = <span class="ruby-ivar">@__rubybreaker_obj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">mname</span>,*<span class="ruby-identifier">args</span>,&amp;<span class="ruby-identifier">blk</span>)
364
+ <span class="ruby-identifier">retval</span> = <span class="ruby-ivar">@__rubybreaker_obj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">mname</span>, *<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">blk</span>)
354
365
  <span class="ruby-keyword">end</span>
355
366
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">retval</span>
356
367
  <span class="ruby-keyword">end</span></pre>
@@ -86,8 +86,6 @@
86
86
 
87
87
  <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
88
88
 
89
- <li><a href="../../RubyBreaker/Broken/BrokenEigen.html">RubyBreaker::Broken::BrokenEigen</a>
90
-
91
89
  <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
92
90
 
93
91
  <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
@@ -104,12 +102,12 @@
104
102
 
105
103
  <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
106
104
 
107
- <li><a href="../../RubyBreaker/Main.html">RubyBreaker::Main</a>
108
-
109
105
  <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
110
106
 
111
107
  <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
112
108
 
109
+ <li><a href="../../RubyBreaker/RDocSupport.html">RubyBreaker::RDocSupport</a>
110
+
113
111
  <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
114
112
 
115
113
  <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
@@ -130,15 +128,11 @@
130
128
 
131
129
  <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
132
130
 
133
- <li><a href="../../RubyBreaker/Runtime/TypePlaceholder.html">RubyBreaker::Runtime::TypePlaceholder</a>
134
-
135
131
  <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
136
132
 
137
- <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
138
-
139
- <li><a href="../../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
133
+ <li><a href="../../RubyBreaker/Runtime/TypeSigUnparser.html">RubyBreaker::Runtime::TypeSigUnparser</a>
140
134
 
141
- <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
135
+ <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
142
136
 
143
137
  <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
144
138
 
@@ -176,6 +170,18 @@
176
170
 
177
171
  <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
178
172
 
173
+ <li><a href="../../Test.html">Test</a>
174
+
175
+ <li><a href="../../Test/Unit.html">Test::Unit</a>
176
+
177
+ <li><a href="../../Test/Unit/TestCase.html">Test::Unit::TestCase</a>
178
+
179
+ <li><a href="../../Rake.html">Rake</a>
180
+
181
+ <li><a href="../../Rake/RubyBreakerTestTask.html">Rake::RubyBreakerTestTask</a>
182
+
183
+ <li><a href="../../Kernel.html">Kernel</a>
184
+
179
185
  <li><a href="../../Object.html">Object</a>
180
186
 
181
187
  </ul>
@@ -84,8 +84,6 @@
84
84
 
85
85
  <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
86
86
 
87
- <li><a href="../../RubyBreaker/Broken/BrokenEigen.html">RubyBreaker::Broken::BrokenEigen</a>
88
-
89
87
  <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
90
88
 
91
89
  <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
@@ -102,12 +100,12 @@
102
100
 
103
101
  <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
104
102
 
105
- <li><a href="../../RubyBreaker/Main.html">RubyBreaker::Main</a>
106
-
107
103
  <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
108
104
 
109
105
  <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
110
106
 
107
+ <li><a href="../../RubyBreaker/RDocSupport.html">RubyBreaker::RDocSupport</a>
108
+
111
109
  <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
112
110
 
113
111
  <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
@@ -128,15 +126,11 @@
128
126
 
129
127
  <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
130
128
 
131
- <li><a href="../../RubyBreaker/Runtime/TypePlaceholder.html">RubyBreaker::Runtime::TypePlaceholder</a>
132
-
133
129
  <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
134
130
 
135
- <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
136
-
137
- <li><a href="../../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
131
+ <li><a href="../../RubyBreaker/Runtime/TypeSigUnparser.html">RubyBreaker::Runtime::TypeSigUnparser</a>
138
132
 
139
- <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
133
+ <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
140
134
 
141
135
  <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
142
136
 
@@ -174,6 +168,18 @@
174
168
 
175
169
  <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
176
170
 
171
+ <li><a href="../../Test.html">Test</a>
172
+
173
+ <li><a href="../../Test/Unit.html">Test::Unit</a>
174
+
175
+ <li><a href="../../Test/Unit/TestCase.html">Test::Unit::TestCase</a>
176
+
177
+ <li><a href="../../Rake.html">Rake</a>
178
+
179
+ <li><a href="../../Rake/RubyBreakerTestTask.html">Rake::RubyBreakerTestTask</a>
180
+
181
+ <li><a href="../../Kernel.html">Kernel</a>
182
+
177
183
  <li><a href="../../Object.html">Object</a>
178
184
 
179
185
  </ul>
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
6
 
7
- <title>module RubyBreaker::Runtime::TypesigUnparser - RDoc Documentation</title>
7
+ <title>module RubyBreaker::Runtime::TypeSigUnparser - RDoc Documentation</title>
8
8
 
9
9
  <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet">
10
10
 
@@ -100,8 +100,6 @@
100
100
 
101
101
  <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
102
102
 
103
- <li><a href="../../RubyBreaker/Broken/BrokenEigen.html">RubyBreaker::Broken::BrokenEigen</a>
104
-
105
103
  <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
106
104
 
107
105
  <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
@@ -118,12 +116,12 @@
118
116
 
119
117
  <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
120
118
 
121
- <li><a href="../../RubyBreaker/Main.html">RubyBreaker::Main</a>
122
-
123
119
  <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
124
120
 
125
121
  <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
126
122
 
123
+ <li><a href="../../RubyBreaker/RDocSupport.html">RubyBreaker::RDocSupport</a>
124
+
127
125
  <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
128
126
 
129
127
  <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
@@ -144,15 +142,11 @@
144
142
 
145
143
  <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
146
144
 
147
- <li><a href="../../RubyBreaker/Runtime/TypePlaceholder.html">RubyBreaker::Runtime::TypePlaceholder</a>
148
-
149
145
  <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
150
146
 
151
- <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
152
-
153
- <li><a href="../../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
147
+ <li><a href="../../RubyBreaker/Runtime/TypeSigUnparser.html">RubyBreaker::Runtime::TypeSigUnparser</a>
154
148
 
155
- <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
149
+ <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
156
150
 
157
151
  <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
158
152
 
@@ -190,6 +184,18 @@
190
184
 
191
185
  <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
192
186
 
187
+ <li><a href="../../Test.html">Test</a>
188
+
189
+ <li><a href="../../Test/Unit.html">Test::Unit</a>
190
+
191
+ <li><a href="../../Test/Unit/TestCase.html">Test::Unit::TestCase</a>
192
+
193
+ <li><a href="../../Rake.html">Rake</a>
194
+
195
+ <li><a href="../../Rake/RubyBreakerTestTask.html">Rake::RubyBreakerTestTask</a>
196
+
197
+ <li><a href="../../Kernel.html">Kernel</a>
198
+
193
199
  <li><a href="../../Object.html">Object</a>
194
200
 
195
201
  </ul>
@@ -199,7 +205,7 @@
199
205
  </nav>
200
206
 
201
207
  <div id="documentation">
202
- <h1 class="module">module RubyBreaker::Runtime::TypesigUnparser</h1>
208
+ <h1 class="module">module RubyBreaker::Runtime::TypeSigUnparser</h1>
203
209
 
204
210
  <div id="description" class="description">
205
211
 
@@ -317,9 +323,6 @@
317
323
 
318
324
  <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-node">&quot;#{keyword} #{mod.to_s}&quot;</span>, <span class="ruby-value">80</span>)
319
325
  <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">nest</span>(<span class="ruby-value">2</span>) <span class="ruby-keyword">do</span>
320
- <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">breakable</span>(<span class="ruby-string">&quot;&quot;</span>)
321
- <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;include RubyBreaker::Broken&quot;</span>, <span class="ruby-value">80</span>)
322
-
323
326
  <span class="ruby-comment"># See if there is any class method to show</span>
324
327
  <span class="ruby-identifier">eigen</span> = <span class="ruby-constant">Runtime</span>.<span class="ruby-identifier">eigen_class</span>(<span class="ruby-identifier">mod</span>)
325
328
  <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-constant">DOCUMENTED</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">eigen</span>)
@@ -371,7 +374,7 @@ during runtime.</p>
371
374
 
372
375
 
373
376
  <div class="method-source-code" id="unparse-source">
374
- <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/typesig_unparser.rb, line 84</span>
377
+ <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/typesig_unparser.rb, line 81</span>
375
378
  <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">unparse</span>(<span class="ruby-identifier">mod</span>, <span class="ruby-identifier">opts</span>={})
376
379
  <span class="ruby-identifier">str</span> = <span class="ruby-string">&quot;&quot;</span>
377
380
  <span class="ruby-identifier">pp</span> = <span class="ruby-constant">PrettyPrint</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">str</span>)
@@ -114,8 +114,6 @@
114
114
 
115
115
  <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
116
116
 
117
- <li><a href="../../RubyBreaker/Broken/BrokenEigen.html">RubyBreaker::Broken::BrokenEigen</a>
118
-
119
117
  <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
120
118
 
121
119
  <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
@@ -132,12 +130,12 @@
132
130
 
133
131
  <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
134
132
 
135
- <li><a href="../../RubyBreaker/Main.html">RubyBreaker::Main</a>
136
-
137
133
  <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
138
134
 
139
135
  <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
140
136
 
137
+ <li><a href="../../RubyBreaker/RDocSupport.html">RubyBreaker::RDocSupport</a>
138
+
141
139
  <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
142
140
 
143
141
  <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
@@ -158,15 +156,11 @@
158
156
 
159
157
  <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
160
158
 
161
- <li><a href="../../RubyBreaker/Runtime/TypePlaceholder.html">RubyBreaker::Runtime::TypePlaceholder</a>
162
-
163
159
  <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
164
160
 
165
- <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
166
-
167
- <li><a href="../../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
161
+ <li><a href="../../RubyBreaker/Runtime/TypeSigUnparser.html">RubyBreaker::Runtime::TypeSigUnparser</a>
168
162
 
169
- <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
163
+ <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
170
164
 
171
165
  <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
172
166
 
@@ -204,6 +198,18 @@
204
198
 
205
199
  <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
206
200
 
201
+ <li><a href="../../Test.html">Test</a>
202
+
203
+ <li><a href="../../Test/Unit.html">Test::Unit</a>
204
+
205
+ <li><a href="../../Test/Unit/TestCase.html">Test::Unit::TestCase</a>
206
+
207
+ <li><a href="../../Rake.html">Rake</a>
208
+
209
+ <li><a href="../../Rake/RubyBreakerTestTask.html">Rake::RubyBreakerTestTask</a>
210
+
211
+ <li><a href="../../Kernel.html">Kernel</a>
212
+
207
213
  <li><a href="../../Object.html">Object</a>
208
214
 
209
215
  </ul>
@@ -273,10 +279,8 @@ information.</p>
273
279
 
274
280
  <span class="ruby-constant">RubyBreaker</span>.<span class="ruby-identifier">log</span>(<span class="ruby-node">&quot;In module monitor_after #{meth_name}&quot;</span>)
275
281
 
276
- <span class="ruby-identifier">meth_type_map</span> = <span class="ruby-constant">Breakable</span><span class="ruby-operator">::</span><span class="ruby-constant">TYPE_PLACEHOLDER_MAP</span>[<span class="ruby-identifier">mod</span>].<span class="ruby-identifier">meth_type_map</span>
277
-
278
282
  <span class="ruby-comment"># Compute the least upper bound</span>
279
- <span class="ruby-identifier">lub</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-identifier">meth_type_map</span>,<span class="ruby-identifier">meth_name</span>,<span class="ruby-identifier">retval</span>,*<span class="ruby-identifier">args</span>,&amp;<span class="ruby-identifier">blk</span>)
283
+ <span class="ruby-identifier">lub</span>(<span class="ruby-identifier">obj</span>, <span class="ruby-constant">TYPE_MAP</span>[<span class="ruby-identifier">mod</span>],<span class="ruby-identifier">meth_name</span>,<span class="ruby-identifier">retval</span>,*<span class="ruby-identifier">args</span>,&amp;<span class="ruby-identifier">blk</span>)
280
284
 
281
285
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">obj</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">retval</span>
282
286
  <span class="ruby-comment"># It is possible that the method receiver is a wrapped object if</span>
@@ -320,7 +324,7 @@ argument with the object wrapper.</p>
320
324
  <span class="ruby-identifier">is_obj_mod</span> = (<span class="ruby-identifier">obj</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Class</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Module</span>)
321
325
  <span class="ruby-identifier">mod</span> = <span class="ruby-identifier">is_obj_mod</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Runtime</span>.<span class="ruby-identifier">eigen_class</span>(<span class="ruby-identifier">obj</span>) <span class="ruby-operator">:</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">class</span>
322
326
 
323
- <span class="ruby-identifier">meth_type_map</span> = <span class="ruby-constant">Breakable</span><span class="ruby-operator">::</span><span class="ruby-constant">TYPE_PLACEHOLDER_MAP</span>[<span class="ruby-identifier">mod</span>].<span class="ruby-identifier">meth_type_map</span>
327
+ <span class="ruby-identifier">meth_type_map</span> = <span class="ruby-constant">TYPE_MAP</span>[<span class="ruby-identifier">mod</span>]
324
328
 
325
329
  <span class="ruby-comment"># Let's take things out of the MethodInfo object</span>
326
330
  <span class="ruby-identifier">meth_name</span> = <span class="ruby-identifier">meth_info</span>.<span class="ruby-identifier">meth_name</span>