rubybreaker 0.0.3 → 0.0.4

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