rubybreaker 0.0.3 → 0.0.4

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.
Files changed (77) hide show
  1. data/NEWS +4 -0
  2. data/README.md +33 -19
  3. data/Rakefile +31 -13
  4. data/TODO +6 -4
  5. data/VERSION +1 -1
  6. data/bin/rubybreaker +0 -1
  7. data/lib/rubybreaker/debug/debug.rb +1 -1
  8. data/lib/rubybreaker/runtime/typesig_unparser.rb +96 -0
  9. data/lib/rubybreaker/runtime.rb +1 -0
  10. data/lib/rubybreaker/test/rspec.rb +15 -0
  11. data/lib/rubybreaker/test/testcase.rb +4 -4
  12. data/lib/rubybreaker/test.rb +1 -0
  13. data/lib/rubybreaker/type/type_grammar.treetop +5 -4
  14. data/lib/rubybreaker/type/type_unparser.rb +69 -25
  15. data/lib/rubybreaker.rb +9 -77
  16. data/test/integrated/tc_namespace.rb +56 -0
  17. data/test/ts_integrated.rb +1 -0
  18. data/test/ts_rspec.rb +31 -0
  19. data/test/ts_type.rb +2 -0
  20. data/test/type/tc_camelize.rb +24 -0
  21. data/test/type/tc_namespace.rb +25 -0
  22. data/test/type/tc_unparser.rb +31 -32
  23. data/webpage/index.html +34 -19
  24. data/webpage/rdoc/Object.html +308 -0
  25. data/webpage/rdoc/RubyBreaker/Breakable.html +5 -1
  26. data/webpage/rdoc/RubyBreaker/Broken/BrokenEigen.html +5 -1
  27. data/webpage/rdoc/RubyBreaker/Broken.html +5 -1
  28. data/webpage/rdoc/RubyBreaker/Context.html +5 -1
  29. data/webpage/rdoc/RubyBreaker/Errors/InternalError.html +4 -0
  30. data/webpage/rdoc/RubyBreaker/Errors/InvalidSubtypeCheck.html +4 -0
  31. data/webpage/rdoc/RubyBreaker/Errors/InvalidTypeConstruction.html +4 -0
  32. data/webpage/rdoc/RubyBreaker/Errors/SubtypeFailure.html +4 -0
  33. data/webpage/rdoc/RubyBreaker/Errors/TypeError.html +4 -0
  34. data/webpage/rdoc/RubyBreaker/Errors/UserError.html +4 -0
  35. data/webpage/rdoc/RubyBreaker/Errors.html +4 -0
  36. data/webpage/rdoc/RubyBreaker/Main.html +17 -132
  37. data/webpage/rdoc/RubyBreaker/ObjectPosition.html +5 -1
  38. data/webpage/rdoc/RubyBreaker/Position.html +5 -1
  39. data/webpage/rdoc/RubyBreaker/RubyTypeUtils.html +4 -0
  40. data/webpage/rdoc/RubyBreaker/Runtime/Inspector.html +4 -0
  41. data/webpage/rdoc/RubyBreaker/Runtime/MethodInfo.html +5 -1
  42. data/webpage/rdoc/RubyBreaker/Runtime/Monitor.html +5 -1
  43. data/webpage/rdoc/RubyBreaker/Runtime/MonitorInstaller.html +4 -0
  44. data/webpage/rdoc/RubyBreaker/Runtime/MonitorSwitch.html +5 -1
  45. data/webpage/rdoc/RubyBreaker/Runtime/MonitorUtils.html +4 -0
  46. data/webpage/rdoc/RubyBreaker/Runtime/ObjectWrapper.html +4 -0
  47. data/webpage/rdoc/RubyBreaker/Runtime/Pluggable.html +4 -0
  48. data/webpage/rdoc/RubyBreaker/Runtime/TypePlaceholder.html +5 -1
  49. data/webpage/rdoc/RubyBreaker/Runtime/TypeSigParser.html +4 -0
  50. data/webpage/rdoc/RubyBreaker/Runtime/TypeSystem.html +5 -1
  51. data/webpage/rdoc/RubyBreaker/Runtime/TypesigUnparser.html +404 -0
  52. data/webpage/rdoc/RubyBreaker/Runtime.html +5 -0
  53. data/webpage/rdoc/RubyBreaker/TestCase.html +47 -43
  54. data/webpage/rdoc/RubyBreaker/TypeComparer.html +4 -0
  55. data/webpage/rdoc/RubyBreaker/TypeDefs/AnyType.html +4 -0
  56. data/webpage/rdoc/RubyBreaker/TypeDefs/BlockType.html +4 -0
  57. data/webpage/rdoc/RubyBreaker/TypeDefs/DuckType.html +4 -0
  58. data/webpage/rdoc/RubyBreaker/TypeDefs/FusionType.html +4 -0
  59. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodListType.html +4 -0
  60. data/webpage/rdoc/RubyBreaker/TypeDefs/MethodType.html +4 -0
  61. data/webpage/rdoc/RubyBreaker/TypeDefs/NilType.html +4 -0
  62. data/webpage/rdoc/RubyBreaker/TypeDefs/NominalType.html +4 -0
  63. data/webpage/rdoc/RubyBreaker/TypeDefs/OptionalType.html +4 -0
  64. data/webpage/rdoc/RubyBreaker/TypeDefs/OrType.html +4 -0
  65. data/webpage/rdoc/RubyBreaker/TypeDefs/SelfType.html +4 -0
  66. data/webpage/rdoc/RubyBreaker/TypeDefs/Type.html +11 -6
  67. data/webpage/rdoc/RubyBreaker/TypeDefs/VarLengthType.html +4 -0
  68. data/webpage/rdoc/RubyBreaker/TypeDefs.html +4 -0
  69. data/webpage/rdoc/RubyBreaker/TypeUnparser.html +15 -7
  70. data/webpage/rdoc/RubyBreaker/Typing.html +4 -0
  71. data/webpage/rdoc/RubyBreaker/Util.html +4 -0
  72. data/webpage/rdoc/RubyBreaker.html +6 -6
  73. data/webpage/rdoc/created.rid +9 -7
  74. data/webpage/rdoc/index.html +4 -0
  75. data/webpage/rdoc/js/search_index.js +1 -1
  76. data/webpage/rdoc/table_of_contents.html +36 -24
  77. metadata +13 -7
@@ -0,0 +1,404 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
+
7
+ <title>module RubyBreaker::Runtime::TypesigUnparser - RDoc Documentation</title>
8
+
9
+ <link type="text/css" media="screen" href="../../rdoc.css" rel="stylesheet">
10
+
11
+ <script type="text/javascript">
12
+ var rdoc_rel_prefix = "../../";
13
+ </script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
16
+ <script type="text/javascript" charset="utf-8" src="../../js/navigation.js"></script>
17
+ <script type="text/javascript" charset="utf-8" src="../../js/search_index.js"></script>
18
+ <script type="text/javascript" charset="utf-8" src="../../js/search.js"></script>
19
+ <script type="text/javascript" charset="utf-8" src="../../js/searcher.js"></script>
20
+ <script type="text/javascript" charset="utf-8" src="../../js/darkfish.js"></script>
21
+
22
+
23
+ <body id="top" class="module">
24
+ <nav id="metadata">
25
+ <nav id="home-section" class="section">
26
+ <h3 class="section-header">
27
+ <a href="../../index.html">Home</a>
28
+ <a href="../../table_of_contents.html#classes">Classes</a>
29
+ <a href="../../table_of_contents.html#methods">Methods</a>
30
+ </h3>
31
+ </nav>
32
+
33
+
34
+ <nav id="search-section" class="section project-section" class="initially-hidden">
35
+ <form action="#" method="get" accept-charset="utf-8">
36
+ <h3 class="section-header">
37
+ <input type="text" name="search" placeholder="Search" id="search-field"
38
+ title="Type to search, Up and Down to navigate, Enter to load">
39
+ </h3>
40
+ </form>
41
+
42
+ <ul id="search-results" class="initially-hidden"></ul>
43
+ </nav>
44
+
45
+
46
+ <div id="file-metadata">
47
+ <nav id="file-list-section" class="section">
48
+ <h3 class="section-header">Defined In</h3>
49
+ <ul>
50
+ <li>lib/rubybreaker/runtime/typesig_unparser.rb
51
+ </ul>
52
+ </nav>
53
+
54
+
55
+ </div>
56
+
57
+ <div id="class-metadata">
58
+
59
+
60
+ <!-- Included Modules -->
61
+ <nav id="includes-section" class="section">
62
+ <h3 class="section-header">Included Modules</h3>
63
+
64
+ <ul class="link-list">
65
+
66
+
67
+ <li><a class="include" href="../TypeDefs.html">RubyBreaker::TypeDefs</a>
68
+
69
+
70
+ </ul>
71
+ </nav>
72
+
73
+ <!-- Method Quickref -->
74
+ <nav id="method-list-section" class="section">
75
+ <h3 class="section-header">Methods</h3>
76
+
77
+ <ul class="link-list">
78
+
79
+ <li><a href="#method-c-pp_methods">::pp_methods</a>
80
+
81
+ <li><a href="#method-c-pp_module">::pp_module</a>
82
+
83
+ <li><a href="#method-c-unparse">::unparse</a>
84
+
85
+ </ul>
86
+ </nav>
87
+
88
+ </div>
89
+
90
+ <div id="project-metadata">
91
+
92
+ <nav id="classindex-section" class="section project-section">
93
+ <h3 class="section-header">Class and Module Index</h3>
94
+
95
+ <ul class="link-list">
96
+
97
+ <li><a href="../../RubyBreaker.html">RubyBreaker</a>
98
+
99
+ <li><a href="../../RubyBreaker/Breakable.html">RubyBreaker::Breakable</a>
100
+
101
+ <li><a href="../../RubyBreaker/Broken.html">RubyBreaker::Broken</a>
102
+
103
+ <li><a href="../../RubyBreaker/Broken/BrokenEigen.html">RubyBreaker::Broken::BrokenEigen</a>
104
+
105
+ <li><a href="../../RubyBreaker/Context.html">RubyBreaker::Context</a>
106
+
107
+ <li><a href="../../RubyBreaker/Errors.html">RubyBreaker::Errors</a>
108
+
109
+ <li><a href="../../RubyBreaker/Errors/InternalError.html">RubyBreaker::Errors::InternalError</a>
110
+
111
+ <li><a href="../../RubyBreaker/Errors/InvalidSubtypeCheck.html">RubyBreaker::Errors::InvalidSubtypeCheck</a>
112
+
113
+ <li><a href="../../RubyBreaker/Errors/InvalidTypeConstruction.html">RubyBreaker::Errors::InvalidTypeConstruction</a>
114
+
115
+ <li><a href="../../RubyBreaker/Errors/SubtypeFailure.html">RubyBreaker::Errors::SubtypeFailure</a>
116
+
117
+ <li><a href="../../RubyBreaker/Errors/TypeError.html">RubyBreaker::Errors::TypeError</a>
118
+
119
+ <li><a href="../../RubyBreaker/Errors/UserError.html">RubyBreaker::Errors::UserError</a>
120
+
121
+ <li><a href="../../RubyBreaker/Main.html">RubyBreaker::Main</a>
122
+
123
+ <li><a href="../../RubyBreaker/ObjectPosition.html">RubyBreaker::ObjectPosition</a>
124
+
125
+ <li><a href="../../RubyBreaker/Position.html">RubyBreaker::Position</a>
126
+
127
+ <li><a href="../../RubyBreaker/RubyTypeUtils.html">RubyBreaker::RubyTypeUtils</a>
128
+
129
+ <li><a href="../../RubyBreaker/Runtime.html">RubyBreaker::Runtime</a>
130
+
131
+ <li><a href="../../RubyBreaker/Runtime/Inspector.html">RubyBreaker::Runtime::Inspector</a>
132
+
133
+ <li><a href="../../RubyBreaker/Runtime/MethodInfo.html">RubyBreaker::Runtime::MethodInfo</a>
134
+
135
+ <li><a href="../../RubyBreaker/Runtime/Monitor.html">RubyBreaker::Runtime::Monitor</a>
136
+
137
+ <li><a href="../../RubyBreaker/Runtime/MonitorInstaller.html">RubyBreaker::Runtime::MonitorInstaller</a>
138
+
139
+ <li><a href="../../RubyBreaker/Runtime/MonitorSwitch.html">RubyBreaker::Runtime::MonitorSwitch</a>
140
+
141
+ <li><a href="../../RubyBreaker/Runtime/MonitorUtils.html">RubyBreaker::Runtime::MonitorUtils</a>
142
+
143
+ <li><a href="../../RubyBreaker/Runtime/ObjectWrapper.html">RubyBreaker::Runtime::ObjectWrapper</a>
144
+
145
+ <li><a href="../../RubyBreaker/Runtime/Pluggable.html">RubyBreaker::Runtime::Pluggable</a>
146
+
147
+ <li><a href="../../RubyBreaker/Runtime/TypePlaceholder.html">RubyBreaker::Runtime::TypePlaceholder</a>
148
+
149
+ <li><a href="../../RubyBreaker/Runtime/TypeSigParser.html">RubyBreaker::Runtime::TypeSigParser</a>
150
+
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>
154
+
155
+ <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
156
+
157
+ <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
158
+
159
+ <li><a href="../../RubyBreaker/TypeDefs.html">RubyBreaker::TypeDefs</a>
160
+
161
+ <li><a href="../../RubyBreaker/TypeDefs/AnyType.html">RubyBreaker::TypeDefs::AnyType</a>
162
+
163
+ <li><a href="../../RubyBreaker/TypeDefs/BlockType.html">RubyBreaker::TypeDefs::BlockType</a>
164
+
165
+ <li><a href="../../RubyBreaker/TypeDefs/DuckType.html">RubyBreaker::TypeDefs::DuckType</a>
166
+
167
+ <li><a href="../../RubyBreaker/TypeDefs/FusionType.html">RubyBreaker::TypeDefs::FusionType</a>
168
+
169
+ <li><a href="../../RubyBreaker/TypeDefs/MethodListType.html">RubyBreaker::TypeDefs::MethodListType</a>
170
+
171
+ <li><a href="../../RubyBreaker/TypeDefs/MethodType.html">RubyBreaker::TypeDefs::MethodType</a>
172
+
173
+ <li><a href="../../RubyBreaker/TypeDefs/NilType.html">RubyBreaker::TypeDefs::NilType</a>
174
+
175
+ <li><a href="../../RubyBreaker/TypeDefs/NominalType.html">RubyBreaker::TypeDefs::NominalType</a>
176
+
177
+ <li><a href="../../RubyBreaker/TypeDefs/OptionalType.html">RubyBreaker::TypeDefs::OptionalType</a>
178
+
179
+ <li><a href="../../RubyBreaker/TypeDefs/OrType.html">RubyBreaker::TypeDefs::OrType</a>
180
+
181
+ <li><a href="../../RubyBreaker/TypeDefs/SelfType.html">RubyBreaker::TypeDefs::SelfType</a>
182
+
183
+ <li><a href="../../RubyBreaker/TypeDefs/Type.html">RubyBreaker::TypeDefs::Type</a>
184
+
185
+ <li><a href="../../RubyBreaker/TypeDefs/VarLengthType.html">RubyBreaker::TypeDefs::VarLengthType</a>
186
+
187
+ <li><a href="../../RubyBreaker/TypeUnparser.html">RubyBreaker::TypeUnparser</a>
188
+
189
+ <li><a href="../../RubyBreaker/Typing.html">RubyBreaker::Typing</a>
190
+
191
+ <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
192
+
193
+ <li><a href="../../Object.html">Object</a>
194
+
195
+ </ul>
196
+ </nav>
197
+
198
+ </div>
199
+ </nav>
200
+
201
+ <div id="documentation">
202
+ <h1 class="module">module RubyBreaker::Runtime::TypesigUnparser</h1>
203
+
204
+ <div id="description" class="description">
205
+
206
+ <p>This module handles unparsing type signatures.</p>
207
+
208
+ </div><!-- description -->
209
+
210
+
211
+
212
+
213
+ <section id="5Buntitled-5D" class="documentation-section">
214
+
215
+
216
+
217
+
218
+
219
+ <!-- Constants -->
220
+ <section id="constants-list" class="section">
221
+ <h3 class="section-header">Constants</h3>
222
+ <dl>
223
+
224
+ <dt id="DOCUMENTED">DOCUMENTED
225
+
226
+ <dd class="description"><p>This array lists monitored modules/classes that are outputed.</p>
227
+
228
+
229
+ </dl>
230
+ </section>
231
+
232
+
233
+
234
+
235
+ <!-- Methods -->
236
+
237
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
238
+ <h3 class="section-header">Public Class Methods</h3>
239
+
240
+
241
+ <div id="method-c-pp_methods" class="method-detail ">
242
+
243
+ <div class="method-heading">
244
+ <span class="method-name">pp_methods</span><span
245
+ class="method-args">(pp, meth_type_map, opts={})</span>
246
+ <span class="method-click-advice">click to toggle source</span>
247
+ </div>
248
+
249
+
250
+ <div class="method-description">
251
+
252
+ <p>Pretty prints type information for methods</p>
253
+
254
+
255
+
256
+ <div class="method-source-code" id="pp_methods-source">
257
+ <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/typesig_unparser.rb, line 17</span>
258
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pp_methods</span>(<span class="ruby-identifier">pp</span>, <span class="ruby-identifier">meth_type_map</span>, <span class="ruby-identifier">opts</span>={})
259
+ <span class="ruby-identifier">meth_type_map</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">meth_name</span>, <span class="ruby-identifier">meth_type</span><span class="ruby-operator">|</span>
260
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">meth_type</span>
261
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">MethodType</span>
262
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">breakable</span>()
263
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;typesig(\&quot;&quot;</span>)
264
+ <span class="ruby-constant">TypeUnparser</span>.<span class="ruby-identifier">unparse_pp</span>(<span class="ruby-identifier">pp</span>, <span class="ruby-identifier">meth_type</span>, <span class="ruby-identifier">opts</span>)
265
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;\&quot;)&quot;</span>)
266
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">MethodListType</span>
267
+ <span class="ruby-identifier">meth_type</span>.<span class="ruby-identifier">types</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">real_meth_type</span><span class="ruby-operator">|</span>
268
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">breakable</span>()
269
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;typesig(\&quot;&quot;</span>)
270
+ <span class="ruby-constant">TypeUnparser</span>.<span class="ruby-identifier">unparse_pp</span>(<span class="ruby-identifier">pp</span>, <span class="ruby-identifier">real_meth_type</span>, <span class="ruby-identifier">opts</span>)
271
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;\&quot;)&quot;</span>)
272
+ }
273
+ <span class="ruby-keyword">else</span>
274
+ <span class="ruby-comment"># Can't happen</span>
275
+ <span class="ruby-keyword">end</span>
276
+ }
277
+ <span class="ruby-keyword">end</span></pre>
278
+ </div><!-- pp_methods-source -->
279
+
280
+ </div>
281
+
282
+
283
+
284
+
285
+ </div><!-- pp_methods-method -->
286
+
287
+
288
+ <div id="method-c-pp_module" class="method-detail ">
289
+
290
+ <div class="method-heading">
291
+ <span class="method-name">pp_module</span><span
292
+ class="method-args">(pp, mod, opts={})</span>
293
+ <span class="method-click-advice">click to toggle source</span>
294
+ </div>
295
+
296
+
297
+ <div class="method-description">
298
+
299
+ <p>Pretty prints type information for the module/class</p>
300
+
301
+
302
+
303
+ <div class="method-source-code" id="pp_module-source">
304
+ <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/typesig_unparser.rb, line 39</span>
305
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pp_module</span>(<span class="ruby-identifier">pp</span>, <span class="ruby-identifier">mod</span>, <span class="ruby-identifier">opts</span>={})
306
+ <span class="ruby-comment"># Skip it if we already have seen it</span>
307
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">DOCUMENTED</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">mod</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-node">&quot;#&lt;&quot;</span>
308
+
309
+ <span class="ruby-comment"># Remember that we have documented this module/class</span>
310
+ <span class="ruby-constant">DOCUMENTED</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">mod</span>
311
+
312
+ <span class="ruby-comment"># Get the method type mapping</span>
313
+ <span class="ruby-identifier">meth_type_map</span> = <span class="ruby-constant">Inspector</span>.<span class="ruby-identifier">inspect_all</span>(<span class="ruby-identifier">mod</span>)
314
+
315
+ <span class="ruby-comment"># Check if this module is a class</span>
316
+ <span class="ruby-identifier">keyword</span> = <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Class</span>) <span class="ruby-operator">?</span> <span class="ruby-string">&quot;class&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-string">&quot;module&quot;</span>
317
+
318
+ <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
+ <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
+ <span class="ruby-comment"># See if there is any class method to show</span>
324
+ <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
+ <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>)
326
+ <span class="ruby-constant">DOCUMENTED</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">eigen</span>
327
+ <span class="ruby-identifier">eigen_meth_type_map</span> = <span class="ruby-constant">Inspector</span>.<span class="ruby-identifier">inspect_all</span>(<span class="ruby-identifier">eigen</span>)
328
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">eigen_meth_type_map</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
329
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">breakable</span>()
330
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;class &lt;&lt; self&quot;</span>, <span class="ruby-value">80</span>)
331
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">nest</span>(<span class="ruby-value">2</span>) <span class="ruby-keyword">do</span>
332
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pp_methods</span>(<span class="ruby-identifier">pp</span>, <span class="ruby-identifier">eigen_meth_type_map</span>, <span class="ruby-value">:namespace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">eigen</span>)
333
+ <span class="ruby-keyword">end</span>
334
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">breakable</span>()
335
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;end&quot;</span>, <span class="ruby-value">80</span>)
336
+ <span class="ruby-keyword">end</span>
337
+ <span class="ruby-keyword">end</span>
338
+
339
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pp_methods</span>(<span class="ruby-identifier">pp</span>, <span class="ruby-identifier">meth_type_map</span>, <span class="ruby-value">:namespace</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">mod</span>)
340
+
341
+ <span class="ruby-keyword">end</span>
342
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">breakable</span>()
343
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">text</span>(<span class="ruby-string">&quot;end&quot;</span>,<span class="ruby-value">80</span>)
344
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">breakable</span>()
345
+ <span class="ruby-keyword">end</span></pre>
346
+ </div><!-- pp_module-source -->
347
+
348
+ </div>
349
+
350
+
351
+
352
+
353
+ </div><!-- pp_module-method -->
354
+
355
+
356
+ <div id="method-c-unparse" class="method-detail ">
357
+
358
+ <div class="method-heading">
359
+ <span class="method-name">unparse</span><span
360
+ class="method-args">(mod, opts={})</span>
361
+ <span class="method-click-advice">click to toggle source</span>
362
+ </div>
363
+
364
+
365
+ <div class="method-description">
366
+
367
+ <p>This method unparses the type information in the specified module,
368
+ displaying one or more type signatures for each method that is monitored
369
+ during runtime.</p>
370
+
371
+
372
+
373
+ <div class="method-source-code" id="unparse-source">
374
+ <pre><span class="ruby-comment"># File lib/rubybreaker/runtime/typesig_unparser.rb, line 84</span>
375
+ <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
+ <span class="ruby-identifier">str</span> = <span class="ruby-string">&quot;&quot;</span>
377
+ <span class="ruby-identifier">pp</span> = <span class="ruby-constant">PrettyPrint</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">str</span>)
378
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pp_module</span>(<span class="ruby-identifier">pp</span>, <span class="ruby-identifier">mod</span>, <span class="ruby-identifier">opts</span>)
379
+ <span class="ruby-identifier">pp</span>.<span class="ruby-identifier">flush</span>
380
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">str</span>
381
+ <span class="ruby-keyword">end</span></pre>
382
+ </div><!-- unparse-source -->
383
+
384
+ </div>
385
+
386
+
387
+
388
+
389
+ </div><!-- unparse-method -->
390
+
391
+
392
+ </section><!-- public-class-method-details -->
393
+
394
+ </section><!-- 5Buntitled-5D -->
395
+
396
+ </div><!-- documentation -->
397
+
398
+
399
+ <footer id="validator-badges">
400
+ <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
401
+ <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
402
+ <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
403
+ </footer>
404
+
@@ -55,6 +55,7 @@
55
55
  <li>lib/rubybreaker/runtime/type_placeholder.rb
56
56
  <li>lib/rubybreaker/runtime/type_system.rb
57
57
  <li>lib/rubybreaker/runtime/typesig_parser.rb
58
+ <li>lib/rubybreaker/runtime/typesig_unparser.rb
58
59
  <li>lib/rubybreaker/runtime/util.rb
59
60
  </ul>
60
61
  </nav>
@@ -132,6 +133,8 @@
132
133
 
133
134
  <li><a href="../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
134
135
 
136
+ <li><a href="../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
137
+
135
138
  <li><a href="../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
136
139
 
137
140
  <li><a href="../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
@@ -170,6 +173,8 @@
170
173
 
171
174
  <li><a href="../RubyBreaker/Util.html">RubyBreaker::Util</a>
172
175
 
176
+ <li><a href="../Object.html">Object</a>
177
+
173
178
  </ul>
174
179
  </nav>
175
180
 
@@ -64,11 +64,11 @@
64
64
 
65
65
  <ul class="link-list">
66
66
 
67
- <li><a href="#method-c-included">::included</a>
67
+ <li><a href="#method-c-__rubybreaker_setup">::__rubybreaker_setup</a>
68
68
 
69
- <li><a href="#method-c-setup">::setup</a>
69
+ <li><a href="#method-c-__rubybreaker_teardown">::__rubybreaker_teardown</a>
70
70
 
71
- <li><a href="#method-c-teardown">::teardown</a>
71
+ <li><a href="#method-c-included">::included</a>
72
72
 
73
73
  </ul>
74
74
  </nav>
@@ -138,6 +138,8 @@
138
138
 
139
139
  <li><a href="../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
140
140
 
141
+ <li><a href="../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
142
+
141
143
  <li><a href="../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
142
144
 
143
145
  <li><a href="../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
@@ -176,6 +178,8 @@
176
178
 
177
179
  <li><a href="../RubyBreaker/Util.html">RubyBreaker::Util</a>
178
180
 
181
+ <li><a href="../Object.html">Object</a>
182
+
179
183
  </ul>
180
184
  </nav>
181
185
 
@@ -210,11 +214,11 @@ href="TestCase.html">TestCase</a> class.</p>
210
214
  <h3 class="section-header">Public Class Methods</h3>
211
215
 
212
216
 
213
- <div id="method-c-included" class="method-detail ">
217
+ <div id="method-c-__rubybreaker_setup" class="method-detail ">
214
218
 
215
219
  <div class="method-heading">
216
- <span class="method-name">included</span><span
217
- class="method-args">(mod)</span>
220
+ <span class="method-name">__rubybreaker_setup</span><span
221
+ class="method-args">()</span>
218
222
  <span class="method-click-advice">click to toggle source</span>
219
223
  </div>
220
224
 
@@ -225,37 +229,25 @@ href="TestCase.html">TestCase</a> class.</p>
225
229
 
226
230
 
227
231
 
228
- <div class="method-source-code" id="included-source">
229
- <pre><span class="ruby-comment"># File lib/rubybreaker/test/testcase.rb, line 20</span>
230
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">included</span>(<span class="ruby-identifier">mod</span>)
231
-
232
- <span class="ruby-comment"># hack to insert RubyBreaker's own setup and teardown methods</span>
233
- <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">module_eval</span> <span class="ruby-string">&quot;
234
- alias :__run :run
235
-
236
- def run(*args,&amp;blk)
237
- RubyBreaker::TestCase.setup()
238
- __run(*args,&amp;blk)
239
- RubyBreaker::TestCase.teardown()
240
- end
241
-
242
- &quot;</span>
243
-
244
- <span class="ruby-keyword">end</span></pre>
245
- </div><!-- included-source -->
232
+ <div class="method-source-code" id="__rubybreaker_setup-source">
233
+ <pre><span class="ruby-comment"># File lib/rubybreaker/test/testcase.rb, line 12</span>
234
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">__rubybreaker_setup</span>()
235
+ <span class="ruby-constant">Main</span>.<span class="ruby-identifier">setup</span>()
236
+ <span class="ruby-keyword">end</span></pre>
237
+ </div><!-- __rubybreaker_setup-source -->
246
238
 
247
239
  </div>
248
240
 
249
241
 
250
242
 
251
243
 
252
- </div><!-- included-method -->
244
+ </div><!-- __rubybreaker_setup-method -->
253
245
 
254
246
 
255
- <div id="method-c-setup" class="method-detail ">
247
+ <div id="method-c-__rubybreaker_teardown" class="method-detail ">
256
248
 
257
249
  <div class="method-heading">
258
- <span class="method-name">setup</span><span
250
+ <span class="method-name">__rubybreaker_teardown</span><span
259
251
  class="method-args">()</span>
260
252
  <span class="method-click-advice">click to toggle source</span>
261
253
  </div>
@@ -267,26 +259,26 @@ href="TestCase.html">TestCase</a> class.</p>
267
259
 
268
260
 
269
261
 
270
- <div class="method-source-code" id="setup-source">
271
- <pre><span class="ruby-comment"># File lib/rubybreaker/test/testcase.rb, line 12</span>
272
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">setup</span>()
273
- <span class="ruby-constant">Main</span>.<span class="ruby-identifier">setup</span>()
262
+ <div class="method-source-code" id="__rubybreaker_teardown-source">
263
+ <pre><span class="ruby-comment"># File lib/rubybreaker/test/testcase.rb, line 16</span>
264
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">__rubybreaker_teardown</span>()
265
+ <span class="ruby-comment"># Main.output()</span>
274
266
  <span class="ruby-keyword">end</span></pre>
275
- </div><!-- setup-source -->
267
+ </div><!-- __rubybreaker_teardown-source -->
276
268
 
277
269
  </div>
278
270
 
279
271
 
280
272
 
281
273
 
282
- </div><!-- setup-method -->
274
+ </div><!-- __rubybreaker_teardown-method -->
283
275
 
284
276
 
285
- <div id="method-c-teardown" class="method-detail ">
277
+ <div id="method-c-included" class="method-detail ">
286
278
 
287
279
  <div class="method-heading">
288
- <span class="method-name">teardown</span><span
289
- class="method-args">()</span>
280
+ <span class="method-name">included</span><span
281
+ class="method-args">(mod)</span>
290
282
  <span class="method-click-advice">click to toggle source</span>
291
283
  </div>
292
284
 
@@ -297,19 +289,31 @@ href="TestCase.html">TestCase</a> class.</p>
297
289
 
298
290
 
299
291
 
300
- <div class="method-source-code" id="teardown-source">
301
- <pre><span class="ruby-comment"># File lib/rubybreaker/test/testcase.rb, line 16</span>
302
- <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">teardown</span>()
303
- <span class="ruby-comment"># Main.output()</span>
304
- <span class="ruby-keyword">end</span></pre>
305
- </div><!-- teardown-source -->
292
+ <div class="method-source-code" id="included-source">
293
+ <pre><span class="ruby-comment"># File lib/rubybreaker/test/testcase.rb, line 20</span>
294
+ <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">included</span>(<span class="ruby-identifier">mod</span>)
295
+
296
+ <span class="ruby-comment"># hack to insert RubyBreaker's own setup and teardown methods</span>
297
+ <span class="ruby-identifier">mod</span>.<span class="ruby-identifier">module_eval</span> <span class="ruby-string">&quot;
298
+ alias :__run :run
299
+
300
+ def run(*args,&amp;blk)
301
+ RubyBreaker::TestCase.__rubybreaker_setup()
302
+ __run(*args,&amp;blk)
303
+ RubyBreaker::TestCase.__rubybreaker_teardown()
304
+ end
305
+
306
+ &quot;</span>
307
+
308
+ <span class="ruby-keyword">end</span></pre>
309
+ </div><!-- included-source -->
306
310
 
307
311
  </div>
308
312
 
309
313
 
310
314
 
311
315
 
312
- </div><!-- teardown-method -->
316
+ </div><!-- included-method -->
313
317
 
314
318
 
315
319
  </section><!-- public-class-method-details -->
@@ -146,6 +146,8 @@
146
146
 
147
147
  <li><a href="../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
148
148
 
149
+ <li><a href="../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
150
+
149
151
  <li><a href="../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
150
152
 
151
153
  <li><a href="../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
@@ -184,6 +186,8 @@
184
186
 
185
187
  <li><a href="../RubyBreaker/Util.html">RubyBreaker::Util</a>
186
188
 
189
+ <li><a href="../Object.html">Object</a>
190
+
187
191
  </ul>
188
192
  </nav>
189
193
 
@@ -140,6 +140,8 @@
140
140
 
141
141
  <li><a href="../../RubyBreaker/Runtime/TypeSystem.html">RubyBreaker::Runtime::TypeSystem</a>
142
142
 
143
+ <li><a href="../../RubyBreaker/Runtime/TypesigUnparser.html">RubyBreaker::Runtime::TypesigUnparser</a>
144
+
143
145
  <li><a href="../../RubyBreaker/TestCase.html">RubyBreaker::TestCase</a>
144
146
 
145
147
  <li><a href="../../RubyBreaker/TypeComparer.html">RubyBreaker::TypeComparer</a>
@@ -178,6 +180,8 @@
178
180
 
179
181
  <li><a href="../../RubyBreaker/Util.html">RubyBreaker::Util</a>
180
182
 
183
+ <li><a href="../../Object.html">Object</a>
184
+
181
185
  </ul>
182
186
  </nav>
183
187