rubybreaker 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/NEWS +5 -0
- data/NOTES +9 -0
- data/README.md +100 -183
- data/Rakefile +21 -6
- data/VERSION +1 -1
- data/bin/rubybreaker +34 -50
- data/lib/rubybreaker/debug/debug.rb +6 -0
- data/lib/rubybreaker/doc/rdoc.rb +37 -0
- data/lib/rubybreaker/doc.rb +3 -0
- data/lib/rubybreaker/runtime/inspector.rb +6 -28
- data/lib/rubybreaker/runtime/monitor.rb +21 -17
- data/lib/rubybreaker/runtime/object_wrapper.rb +7 -2
- data/lib/rubybreaker/runtime/type_system.rb +3 -5
- data/lib/rubybreaker/runtime/typesig_unparser.rb +1 -4
- data/lib/rubybreaker/runtime.rb +64 -105
- data/lib/rubybreaker/task.rb +97 -0
- data/lib/rubybreaker/test/rspec.rb +1 -1
- data/lib/rubybreaker/test/testcase.rb +13 -28
- data/lib/rubybreaker/type/type.rb +1 -1
- data/lib/rubybreaker/typing/subtyping.rb +10 -5
- data/lib/rubybreaker/util.rb +0 -1
- data/lib/rubybreaker.rb +163 -115
- data/test/integrated/tc_both_broken_breakable.rb +5 -4
- data/test/integrated/tc_class_methods.rb +4 -3
- data/test/integrated/tc_inherit_broken.rb +4 -3
- data/test/integrated/tc_method_missing.rb +4 -4
- data/test/integrated/tc_namespace.rb +4 -2
- data/test/integrated/tc_simple1.rb +4 -3
- data/test/runtime/tc_obj_wrapper.rb +25 -6
- data/test/runtime/tc_typesig_parser.rb +0 -1
- data/test/testtask/sample.rb +10 -0
- data/test/testtask/tc_testtask.rb +25 -0
- data/test/ts_rspec.rb +21 -15
- data/test/typing/tc_typing.rb +2 -3
- data/webpage/index.html +105 -193
- data/webpage/rdoc/Kernel.html +286 -0
- data/webpage/rdoc/Object.html +17 -11
- data/webpage/rdoc/Rake/RubyBreakerTestTask.html +374 -0
- data/webpage/rdoc/Rake.html +212 -0
- data/webpage/rdoc/RubyBreaker/Breakable.html +24 -40
- data/webpage/rdoc/RubyBreaker/Broken.html +21 -69
- data/webpage/rdoc/RubyBreaker/Context.html +16 -10
- data/webpage/rdoc/RubyBreaker/Errors/InternalError.html +16 -10
- data/webpage/rdoc/RubyBreaker/Errors/InvalidSubtypeCheck.html +16 -10
- data/webpage/rdoc/RubyBreaker/Errors/InvalidTypeConstruction.html +16 -10
- data/webpage/rdoc/RubyBreaker/Errors/SubtypeFailure.html +16 -10
- data/webpage/rdoc/RubyBreaker/Errors/TypeError.html +16 -10
- data/webpage/rdoc/RubyBreaker/Errors/UserError.html +16 -10
- data/webpage/rdoc/RubyBreaker/Errors.html +16 -10
- data/webpage/rdoc/RubyBreaker/ObjectPosition.html +16 -10
- data/webpage/rdoc/RubyBreaker/Position.html +16 -10
- data/webpage/rdoc/RubyBreaker/{TestCase.html → RDocSupport.html} +81 -82
- data/webpage/rdoc/RubyBreaker/RubyTypeUtils.html +16 -10
- data/webpage/rdoc/RubyBreaker/Runtime/Inspector.html +25 -44
- data/webpage/rdoc/RubyBreaker/Runtime/MethodInfo.html +16 -10
- data/webpage/rdoc/RubyBreaker/Runtime/Monitor.html +19 -13
- data/webpage/rdoc/RubyBreaker/Runtime/MonitorInstaller.html +37 -25
- data/webpage/rdoc/RubyBreaker/Runtime/MonitorSwitch.html +20 -14
- data/webpage/rdoc/RubyBreaker/Runtime/MonitorUtils.html +21 -15
- data/webpage/rdoc/RubyBreaker/Runtime/ObjectWrapper.html +23 -12
- data/webpage/rdoc/RubyBreaker/Runtime/Pluggable.html +16 -10
- data/webpage/rdoc/RubyBreaker/Runtime/TypeSigParser.html +16 -10
- data/webpage/rdoc/RubyBreaker/Runtime/{TypesigUnparser.html → TypeSigUnparser.html} +19 -16
- data/webpage/rdoc/RubyBreaker/Runtime/TypeSystem.html +18 -14
- data/webpage/rdoc/RubyBreaker/Runtime.html +145 -11
- data/webpage/rdoc/RubyBreaker/TypeComparer.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/AnyType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/BlockType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/DuckType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/FusionType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/MethodListType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/MethodType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/NilType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/NominalType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/OptionalType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/OrType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs/SelfType.html +17 -11
- data/webpage/rdoc/RubyBreaker/TypeDefs/Type.html +17 -11
- data/webpage/rdoc/RubyBreaker/TypeDefs/VarLengthType.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeDefs.html +16 -10
- data/webpage/rdoc/RubyBreaker/TypeUnparser.html +16 -10
- data/webpage/rdoc/RubyBreaker/Typing.html +17 -11
- data/webpage/rdoc/RubyBreaker/Util.html +16 -10
- data/webpage/rdoc/RubyBreaker.html +167 -34
- data/webpage/rdoc/{RubyBreaker/Runtime/TypePlaceholder.html → Test/Unit/TestCase.html} +68 -39
- data/webpage/rdoc/Test/Unit.html +211 -0
- data/webpage/rdoc/Test.html +211 -0
- data/webpage/rdoc/created.rid +18 -17
- data/webpage/rdoc/index.html +16 -10
- data/webpage/rdoc/js/search_index.js +1 -1
- data/webpage/rdoc/table_of_contents.html +61 -48
- metadata +21 -12
- data/lib/rubybreaker/rubylib/core.rb +0 -2483
- data/lib/rubybreaker/rubylib.rb +0 -3
- data/lib/rubybreaker/runtime/type_placeholder.rb +0 -23
- data/webpage/rdoc/RubyBreaker/Broken/BrokenEigen.html +0 -305
- 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/
|
|
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/
|
|
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
|
|
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">"__#{meth_name}"</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
|
|
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
|
|
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>,&<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">
|
|
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.
|
|
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/
|
|
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/
|
|
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>,&<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">"Method_missing for #{mname}"</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">:"__send__"</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
|
|
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>, &<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
|
|
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>, &<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/
|
|
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/
|
|
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/
|
|
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/
|
|
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::
|
|
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/
|
|
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/
|
|
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::
|
|
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">"#{keyword} #{mod.to_s}"</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">""</span>)
|
|
321
|
-
<span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">"include RubyBreaker::Broken"</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
|
|
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">""</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/
|
|
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/
|
|
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">"In module monitor_after #{meth_name}"</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">
|
|
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>,&<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">
|
|
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>
|