rubybreaker 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|