opal 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. data/.gitignore +10 -1
  2. data/.gitmodules +0 -0
  3. data/Opalfile +371 -0
  4. data/README.md +45 -0
  5. data/Rakefile +237 -34
  6. data/VERSION +1 -1
  7. data/bin/opal +13 -0
  8. data/demos/apps/browser_demo/index.html +11 -0
  9. data/demos/apps/browser_demo/lib/browser_demo.rb +31 -0
  10. data/demos/apps/simple_opal/Opalfile +13 -0
  11. data/demos/apps/simple_opal/index.html +11 -0
  12. data/demos/apps/simple_opal/lib/app_controller.rb +62 -0
  13. data/demos/apps/simple_opal/lib/main_window.rb +146 -0
  14. data/demos/browser/request/index.html +52 -0
  15. data/demos/browser/request/request.rb +48 -0
  16. data/gen/browser/__PROJECT_NAME__/index.html +10 -0
  17. data/gen/browser/__PROJECT_NAME__/lib/__PROJECT_NAME__.rb +1 -0
  18. data/lib/opal.rb +48 -3
  19. data/lib/opal/builders/base.rb +50 -0
  20. data/lib/opal/builders/css.rb +46 -0
  21. data/lib/opal/builders/javascript.rb +44 -0
  22. data/lib/opal/builders/opal.rb +79 -0
  23. data/lib/opal/builders/ruby.rb +50 -0
  24. data/lib/opal/builders/ruby/generate.rb +1851 -0
  25. data/lib/opal/builders/ruby/nodes.rb +210 -0
  26. data/lib/opal/builders/ruby/ruby.rb +916 -0
  27. data/lib/opal/builders/ruby/ruby_parser.rb +6008 -0
  28. data/lib/opal/builders/ruby/ruby_parser.rb.y +1451 -0
  29. data/lib/opal/models/build_item.rb +104 -0
  30. data/lib/opal/models/hash_struct.rb +40 -0
  31. data/lib/opal/models/project.rb +215 -0
  32. data/lib/opal/models/struct_accessors.rb +58 -0
  33. data/lib/opal/models/target.rb +176 -0
  34. data/lib/opal/opal/env/console.rb +66 -0
  35. data/lib/opal/opal/env/fs.rb +98 -0
  36. data/lib/opal/opal/env/object.rb +48 -0
  37. data/lib/opal/opal/environment.rb +139 -0
  38. data/lib/opal/opal/gen.rb +62 -0
  39. data/lib/opal/opal/opal.rb +68 -0
  40. data/lib/opal/opal/repl.rb +38 -0
  41. data/lib/opal/opalfile/dsl.rb +62 -0
  42. data/lib/opal/opalfile/opalfile.rb +133 -0
  43. data/lib/opal/opalfile/task.rb +96 -0
  44. data/lib/opal/opalfile/task_manager.rb +63 -0
  45. data/lib/opal/opalfile/task_scope.rb +52 -0
  46. data/lib/opal/rack/app_server.rb +119 -0
  47. data/opals/aristo/README.md +16 -0
  48. data/opals/browser/Opalfile +11 -0
  49. data/opals/browser/README.md +146 -0
  50. data/opals/browser/SIZZLE_LICESNSE.txt +148 -0
  51. data/opals/browser/lib/browser.rb +118 -0
  52. data/opals/browser/lib/browser/builder.rb +41 -0
  53. data/opals/browser/lib/browser/canvas_context.rb +115 -0
  54. data/opals/browser/lib/browser/dimensions.rb +50 -0
  55. data/opals/browser/lib/browser/document.rb +146 -0
  56. data/opals/browser/lib/browser/element.rb +487 -0
  57. data/opals/browser/lib/browser/element/attributes.rb +88 -0
  58. data/opals/browser/lib/browser/element/css.rb +290 -0
  59. data/opals/browser/lib/browser/element/form.rb +146 -0
  60. data/opals/browser/lib/browser/event/dom_events.rb +81 -0
  61. data/opals/browser/lib/browser/event/event.rb +177 -0
  62. data/opals/browser/lib/browser/event/trigger_events.rb +53 -0
  63. data/opals/browser/lib/browser/geometry.rb +97 -0
  64. data/opals/browser/lib/browser/json.rb +32 -0
  65. data/opals/browser/lib/browser/json_parse.js +321 -0
  66. data/opals/browser/lib/browser/request/request.rb +201 -0
  67. data/opals/browser/lib/browser/sizzle.js +1068 -0
  68. data/opals/browser/lib/browser/string.rb +42 -0
  69. data/opals/browser/lib/browser/touch.rb +37 -0
  70. data/{runtime/yaml.js → opals/browser/lib/browser/vml_context.js} +8 -8
  71. data/opals/browser/lib/browser/window.rb +36 -0
  72. data/opals/browser/spec/browser/browser_detection_spec.rb +7 -0
  73. data/opals/browser/spec/document/aref_spec.rb +110 -0
  74. data/opals/browser/spec/document/ready_spec.rb +16 -0
  75. data/opals/browser/spec/element/body_spec.rb +11 -0
  76. data/opals/browser/spec/element/clear_spec.rb +26 -0
  77. data/opals/browser/spec/element/empty_spec.rb +29 -0
  78. data/opals/browser/spec/element/has_class_spec.rb +40 -0
  79. data/opals/browser/spec/element/hidden_spec.rb +23 -0
  80. data/opals/browser/spec/element/hide_spec.rb +31 -0
  81. data/opals/browser/spec/element/remove_spec.rb +25 -0
  82. data/opals/browser/spec/element/show_spec.rb +31 -0
  83. data/opals/browser/spec/element/style_spec.rb +69 -0
  84. data/opals/browser/spec/element/toggle_spec.rb +31 -0
  85. data/opals/browser/spec/element/visible_spec.rb +23 -0
  86. data/opals/browser/spec/spec_helper.rb +1 -0
  87. data/opals/cherry_kit/Opalfile +6 -0
  88. data/opals/cherry_kit/bin/cherry_kit.rb +11 -0
  89. data/opals/cherry_kit/lib/cherry_kit.rb +29 -0
  90. data/opals/foundation/Opalfile +11 -0
  91. data/opals/foundation/bin/foundation.rb +12 -0
  92. data/opals/foundation/lib/foundation.rb +32 -0
  93. data/opals/foundation/lib/foundation/__table_view_desktop/outline_view.rb +57 -0
  94. data/opals/foundation/lib/foundation/__table_view_desktop/table_column.rb +59 -0
  95. data/opals/foundation/lib/foundation/__table_view_desktop/table_header_view.rb +34 -0
  96. data/opals/foundation/lib/foundation/__table_view_desktop/table_view.rb +304 -0
  97. data/opals/foundation/lib/foundation/controllers/array_controller.rb +54 -0
  98. data/opals/foundation/lib/foundation/controllers/controller.rb +74 -0
  99. data/opals/foundation/lib/foundation/controllers/controller_selection_proxy.rb +67 -0
  100. data/opals/foundation/lib/foundation/controllers/object_controller.rb +145 -0
  101. data/opals/foundation/lib/foundation/controllers/view.rb +40 -0
  102. data/opals/foundation/lib/foundation/core/application.rb +476 -0
  103. data/opals/foundation/lib/foundation/core/attributes.rb +146 -0
  104. data/opals/foundation/lib/foundation/core/bindings.rb +125 -0
  105. data/opals/foundation/lib/foundation/core/builder.rb +101 -0
  106. data/opals/foundation/lib/foundation/core/event.rb +112 -0
  107. data/opals/foundation/lib/foundation/core/index_path.rb +49 -0
  108. data/opals/foundation/lib/foundation/core/index_set.rb +97 -0
  109. data/opals/foundation/lib/foundation/core/notification.rb +113 -0
  110. data/opals/foundation/lib/foundation/core/observable.rb +275 -0
  111. data/opals/foundation/lib/foundation/core/observable_array.rb +30 -0
  112. data/opals/foundation/lib/foundation/core/responder.rb +85 -0
  113. data/opals/foundation/lib/foundation/core/run_loop.rb +89 -0
  114. data/opals/foundation/lib/foundation/core/touch.rb +95 -0
  115. data/opals/foundation/lib/foundation/gestures/gesture_recognizer.rb +35 -0
  116. data/opals/foundation/lib/foundation/rendering/render_context.rb +100 -0
  117. data/opals/foundation/lib/foundation/rendering/renderer.rb +137 -0
  118. data/opals/foundation/lib/foundation/rendering/root_theme.rb +77 -0
  119. data/opals/foundation/lib/foundation/rendering/root_theme/button.rb +62 -0
  120. data/opals/foundation/lib/foundation/rendering/root_theme/control.rb +72 -0
  121. data/opals/foundation/lib/foundation/rendering/root_theme/label.rb +54 -0
  122. data/opals/foundation/lib/foundation/rendering/root_theme/scroller.rb +58 -0
  123. data/opals/foundation/lib/foundation/rendering/root_theme/slider.rb +72 -0
  124. data/opals/foundation/lib/foundation/rendering/root_theme/table_view.rb +97 -0
  125. data/opals/foundation/lib/foundation/rendering/root_theme/text_field.rb +55 -0
  126. data/opals/foundation/lib/foundation/rendering/root_theme/view.rb +81 -0
  127. data/opals/foundation/lib/foundation/rendering/theme.rb +38 -0
  128. data/opals/foundation/lib/foundation/table_view/cell.rb +39 -0
  129. data/opals/foundation/lib/foundation/table_view/table.rb +171 -0
  130. data/opals/foundation/lib/foundation/views/button.rb +63 -0
  131. data/opals/foundation/lib/foundation/views/checkbox.rb +28 -0
  132. data/opals/foundation/lib/foundation/views/clip.rb +47 -0
  133. data/opals/foundation/lib/foundation/views/control.rb +199 -0
  134. data/opals/foundation/lib/foundation/views/label.rb +54 -0
  135. data/opals/foundation/lib/foundation/views/scroll.rb +294 -0
  136. data/opals/foundation/lib/foundation/views/scroll_view_desktop.rb +152 -0
  137. data/opals/foundation/lib/foundation/views/scroller.rb +54 -0
  138. data/opals/foundation/lib/foundation/views/slider.rb +93 -0
  139. data/opals/foundation/lib/foundation/views/text_field.rb +83 -0
  140. data/opals/foundation/lib/foundation/views/view.rb +426 -0
  141. data/opals/foundation/lib/foundation/windows/window.rb +191 -0
  142. data/opals/foundation/resources/button/button.css +23 -0
  143. data/{runtime/init.js → opals/foundation/resources/foundation.css} +27 -33
  144. data/opals/foundation/resources/scroll/scroll.css +22 -0
  145. data/opals/foundation/resources/scroll_view/scroll_view.css +3 -0
  146. data/opals/foundation/resources/scroll_view/scroller.css +3 -0
  147. data/opals/foundation/resources/slider/regular/slider.css +3 -0
  148. data/opals/foundation/resources/slider/slider.css +27 -0
  149. data/opals/foundation/resources/table_view/outline_view.css +3 -0
  150. data/opals/foundation/resources/table_view/table_view.css +15 -0
  151. data/opals/foundation/resources/text_field/text_field.css +71 -0
  152. data/opals/foundation/spec/spec_helper.rb +1 -0
  153. data/opals/foundation/spec/system/attributes/get_attribute_spec.rb +69 -0
  154. data/opals/foundation/spec/system/attributes/get_path_spec.rb +44 -0
  155. data/opals/foundation/spec/system/attributes/set_path_spec.rb +24 -0
  156. data/opals/foundation/spec/system/attributes/set_spec.rb +58 -0
  157. data/opals/foundation/spec/system/bindings/bindings.rb +85 -0
  158. data/opals/foundation/spec/system/key_value_binding/bind_spec.rb +43 -0
  159. data/opals/foundation/spec/system/observable/dependant_keys_spec.rb +74 -0
  160. data/opals/foundation/spec/system/observable/observe_spec.rb +292 -0
  161. data/opals/foundation/spec/system/observable/remove_observer_spec.rb +60 -0
  162. data/opals/opal/Opalfile +14 -0
  163. data/opals/opal/spec/core/array/append_spec.rb +30 -0
  164. data/opals/opal/spec/core/array/assoc_spec.rb +29 -0
  165. data/opals/opal/spec/core/array/at_spec.rb +37 -0
  166. data/opals/opal/spec/core/array/clear_spec.rb +22 -0
  167. data/opals/opal/spec/core/array/collect_bang_spec.rb +27 -0
  168. data/opals/opal/spec/core/array/collect_spec.rb +27 -0
  169. data/opals/opal/spec/core/array/compact_spec.rb +15 -0
  170. data/opals/opal/spec/core/array/concat_spec.rb +15 -0
  171. data/opals/opal/spec/core/array/constructor_spec.rb +14 -0
  172. data/opals/opal/spec/core/array/each_spec.rb +9 -0
  173. data/opals/opal/spec/core/array/element_reference_spec.rb +4 -0
  174. data/opals/opal/spec/core/array/first_spec.rb +35 -0
  175. data/opals/opal/spec/core/array/include_spec.rb +9 -0
  176. data/opals/opal/spec/core/array/map_spec.rb +31 -0
  177. data/opals/opal/spec/core/builtin_constants/builtin_constants_spec.rb +7 -0
  178. data/opals/opal/spec/core/false/and_spec.rb +10 -0
  179. data/opals/opal/spec/core/false/inspect_spec.rb +6 -0
  180. data/opals/opal/spec/core/false/or_spec.rb +10 -0
  181. data/opals/opal/spec/core/false/to_s_spec.rb +6 -0
  182. data/opals/opal/spec/core/false/xor_spec.rb +10 -0
  183. data/opals/opal/spec/core/file/join_spec.rb +19 -0
  184. data/opals/opal/spec/core/kernel/instance_eval_spec.rb +0 -0
  185. data/opals/opal/spec/core/kernel/loop_spec.rb +24 -0
  186. data/opals/opal/spec/core/kernel/raise_spec.rb +0 -0
  187. data/opals/opal/spec/core/module/attr_accessor_spec.rb +28 -0
  188. data/opals/opal/spec/core/number/lt_spec.rb +12 -0
  189. data/opals/opal/spec/core/true/and_spec.rb +10 -0
  190. data/opals/opal/spec/core/true/inspect_spec.rb +6 -0
  191. data/opals/opal/spec/core/true/or_spec.rb +10 -0
  192. data/opals/opal/spec/core/true/to_s_spec.rb +6 -0
  193. data/opals/opal/spec/core/true/xor_spec.rb +10 -0
  194. data/opals/opal/spec/fixtures/super.rb +70 -0
  195. data/opals/opal/spec/language/____temp_remove_this.rb +12 -0
  196. data/opals/opal/spec/language/and_spec.rb +62 -0
  197. data/opals/opal/spec/language/array_spec.rb +52 -0
  198. data/opals/opal/spec/language/block_spec.rb +18 -0
  199. data/opals/opal/spec/language/break_spec.rb +36 -0
  200. data/opals/opal/spec/language/case_spec.rb +103 -0
  201. data/opals/opal/spec/language/def_spec.rb +11 -0
  202. data/opals/opal/spec/language/eigenclass_spec.rb +60 -0
  203. data/opals/opal/spec/language/hash_spec.rb +29 -0
  204. data/opals/opal/spec/language/if_spec.rb +54 -0
  205. data/opals/opal/spec/language/loop_spec.rb +11 -0
  206. data/opals/opal/spec/language/metaclass_spec.rb +21 -0
  207. data/opals/opal/spec/language/method_spec.rb +64 -0
  208. data/opals/opal/spec/language/next_spec.rb +25 -0
  209. data/opals/opal/spec/language/or_spec.rb +34 -0
  210. data/opals/opal/spec/language/redo_spec.rb +24 -0
  211. data/opals/opal/spec/language/rescue_spec.rb +20 -0
  212. data/opals/opal/spec/language/return_spec.rb +47 -0
  213. data/opals/opal/spec/language/string_spec.rb +25 -0
  214. data/opals/opal/spec/language/super_spec.rb +26 -0
  215. data/opals/opal/spec/language/until_spec.rb +157 -0
  216. data/opals/opal/spec/language/while_spec.rb +163 -0
  217. data/opals/opal/spec/spec_helper.rb +5 -0
  218. data/opals/runtime/Opalfile +68 -0
  219. data/opals/runtime/README.md +12 -0
  220. data/opals/runtime/docs/debugging.md +51 -0
  221. data/opals/runtime/lib/array.rb +1516 -0
  222. data/opals/runtime/lib/basic_object.rb +49 -0
  223. data/opals/runtime/lib/class.rb +54 -0
  224. data/opals/runtime/lib/dir.rb +36 -0
  225. data/opals/runtime/lib/error.rb +49 -0
  226. data/opals/runtime/lib/false_class.rb +52 -0
  227. data/opals/runtime/lib/file.rb +79 -0
  228. data/opals/runtime/lib/hash.rb +791 -0
  229. data/opals/runtime/lib/io.rb +39 -0
  230. data/opals/runtime/lib/kernel.rb +288 -0
  231. data/opals/runtime/lib/match_data.rb +36 -0
  232. data/opals/runtime/lib/module.rb +109 -0
  233. data/opals/runtime/lib/nil_class.rb +69 -0
  234. data/opals/runtime/lib/number.rb +398 -0
  235. data/opals/runtime/lib/proc.rb +77 -0
  236. data/opals/runtime/lib/range.rb +63 -0
  237. data/opals/runtime/lib/regexp.rb +111 -0
  238. data/opals/runtime/lib/ruby.rb +30 -0
  239. data/opals/runtime/lib/string.rb +328 -0
  240. data/opals/runtime/lib/symbol.rb +40 -0
  241. data/opals/runtime/lib/top_self.rb +33 -0
  242. data/opals/runtime/lib/true_class.rb +45 -0
  243. data/opals/runtime/runtime/browser.js +287 -0
  244. data/opals/runtime/runtime/debug.js +182 -0
  245. data/opals/runtime/runtime/opal.js +1010 -0
  246. data/opals/runtime/runtime/post_opal.js +1 -0
  247. data/opals/runtime/runtime/pre_opal.js +2 -0
  248. data/opals/runtime/runtime/server_side.js +50 -0
  249. data/opals/spec/LICENSE.txt +26 -0
  250. data/opals/spec/Opalfile +5 -0
  251. data/opals/spec/bin/spec.rb +43 -0
  252. data/opals/spec/lib/spec.rb +33 -0
  253. data/opals/spec/lib/spec/dsl.rb +41 -0
  254. data/opals/spec/lib/spec/example.rb +35 -0
  255. data/opals/spec/lib/spec/example/before_and_after_hooks.rb +81 -0
  256. data/opals/spec/lib/spec/example/errors.rb +42 -0
  257. data/opals/spec/lib/spec/example/example_group.rb +37 -0
  258. data/opals/spec/lib/spec/example/example_group_factory.rb +43 -0
  259. data/opals/spec/lib/spec/example/example_group_hierarchy.rb +45 -0
  260. data/opals/spec/lib/spec/example/example_group_methods.rb +142 -0
  261. data/opals/spec/lib/spec/example/example_group_proxy.rb +41 -0
  262. data/opals/spec/lib/spec/example/example_methods.rb +73 -0
  263. data/opals/spec/lib/spec/example/example_proxy.rb +48 -0
  264. data/opals/spec/lib/spec/expectations.rb +46 -0
  265. data/opals/spec/lib/spec/expectations/errors.rb +35 -0
  266. data/opals/spec/lib/spec/expectations/fail_with.rb +37 -0
  267. data/opals/spec/lib/spec/expectations/handler.rb +48 -0
  268. data/opals/spec/lib/spec/matchers.rb +50 -0
  269. data/opals/spec/lib/spec/matchers/be.rb +26 -0
  270. data/opals/spec/lib/spec/matchers/generated_descriptions.rb +47 -0
  271. data/opals/spec/lib/spec/matchers/operator_matcher.rb +66 -0
  272. data/opals/spec/lib/spec/runner.rb +48 -0
  273. data/opals/spec/lib/spec/runner/example_group_runner.rb +71 -0
  274. data/opals/spec/lib/spec/runner/formatter/html_formatter.rb +100 -0
  275. data/opals/spec/lib/spec/runner/formatter/terminal_formatter.rb +82 -0
  276. data/opals/spec/lib/spec/runner/options.rb +63 -0
  277. data/opals/spec/lib/spec/runner/reporter.rb +123 -0
  278. data/opals/spec/resources/index.html +25 -0
  279. data/opals/spec/resources/spec.css +132 -0
  280. data/spec/cherry_kit/iseq_spec.rb +38 -0
  281. data/spec/spec_helper.rb +16 -0
  282. data/spec/vienna_spec.rb +7 -0
  283. data/yard/index.html +43 -0
  284. data/yard/style.css +765 -0
  285. metadata +312 -49
  286. data/docs/jarv.rdoc +0 -27
  287. data/runtime/array.js +0 -153
  288. data/runtime/class.js +0 -469
  289. data/runtime/compar.js +0 -73
  290. data/runtime/dir.js +0 -115
  291. data/runtime/enum.js +0 -74
  292. data/runtime/file.js +0 -165
  293. data/runtime/gem.js +0 -241
  294. data/runtime/hash.js +0 -181
  295. data/runtime/load.js +0 -251
  296. data/runtime/module.js +0 -98
  297. data/runtime/number.js +0 -148
  298. data/runtime/object.js +0 -522
  299. data/runtime/opal.js +0 -200
  300. data/runtime/parse.js +0 -2218
  301. data/runtime/range.js +0 -56
  302. data/runtime/re.js +0 -91
  303. data/runtime/string.js +0 -199
  304. data/runtime/variable.js +0 -184
  305. data/runtime/vm.js +0 -1150
  306. data/tasks/build.rb +0 -16
data/runtime/number.js DELETED
@@ -1,148 +0,0 @@
1
- /*
2
- * number.js
3
- * opal
4
- *
5
- * Created by Adam Beynon.
6
- * Copyright 2010 Adam Beynon.
7
- *
8
- * Permission is hereby granted, free of charge, to any person obtaining a copy
9
- * of this software and associated documentation files (the "Software"), to deal
10
- * in the Software without restriction, including without limitation the rights
11
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- * copies of the Software, and to permit persons to whom the Software is
13
- * furnished to do so, subject to the following conditions:
14
- *
15
- * The above copyright notice and this permission notice shall be included in
16
- * all copies or substantial portions of the Software.
17
- *
18
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- * THE SOFTWARE.
25
- */
26
-
27
-
28
- var rb_cNumber;
29
-
30
- function rb_num_plus(a, b) {
31
- return a + b;
32
- }
33
-
34
- function rb_num_minus(a, b) {
35
- return a - b;
36
- }
37
-
38
- function rb_num_mul(a, b) {
39
- return a * b;
40
- }
41
-
42
- function rb_num_div(a, b) {
43
- return a / b;
44
- }
45
-
46
- function rb_num_modulo(a, b) {
47
- return a % b;
48
- }
49
-
50
- function rb_num_pow(a, b) {
51
- return Math.pow(a, b);
52
- }
53
-
54
-
55
-
56
-
57
-
58
-
59
- function rb_num_gt(a, b) {
60
- return a > b;
61
- }
62
-
63
- function rb_num_ge(a, b) {
64
- return a >= b;
65
- }
66
-
67
- function rb_num_lt(a, b) {
68
- return a < b;
69
- }
70
-
71
- function rb_num_le(a, b) {
72
- return a <= b;
73
- }
74
-
75
-
76
- function Init_Number() {
77
-
78
- rb_cNumber = rb_define_class("Number", rb_cObject);
79
- Number.prototype.klass = rb_cNumber;
80
- Number.prototype.flags = T_NUMBER;
81
-
82
- // rb_define_method(rb_cNumber, "singleton_method_added", rb_num_sadded, 1);
83
- // rb_include_module(rb_cNumber, rb_mComparable);
84
- // rb_define_method(rb_cNumber, "initialize_copy", rb_num_init_copy, 1);
85
- // rb_define_method(rb_cNumber, "coerce", rb_num_coerce, 1);
86
-
87
- // rb_define_method(rb_cNumber, "+@", rb_num_uplus, 0);
88
- // rb_define_method(rb_cNumber, "-@", rb_num_uminus, 0);
89
- // rb_define_method(rb_cNumber, "<=>", rb_num_cmp, 1);
90
- // rb_define_method(rb_cNumber, "eql?", rb_num_eql, 1);
91
- // rb_define_method(rb_cNumber, "quo", rb_num_quo, 1);
92
- // rb_define_method(rb_cNumber, "fdiv", rb_num_fdiv, 1);
93
- // rb_define_method(rb_cNumber, "div", rb_num_div, 1);
94
- // rb_define_method(rb_cNumber, "divmod", rb_num_divmod, 1);
95
- // rb_define_method(rb_cNumber, "modulo", rb_num_modulo, 1);
96
- // rb_define_method(rb_cNumber, "remainder", rb_num_remainder, 1);
97
- // rb_define_method(rb_cNumber, "abs", rb_num_abs, 0);
98
- // rb_define_method(rb_cNumber, "magnitude", rb_num_abs, 0);
99
- // rb_define_method(rb_cNumber, "to_int", rb_num_to_i, 0);
100
-
101
- // rb_define_method(rb_cNumber, "real?", rb_num_real_p, 0);
102
- // rb_define_method(rb_cNumber, "integer?", rb_num_int_p, 0);
103
- // rb_define_method(rb_cNumber, "zero?", rb_num_zero_p, 0);
104
- // rb_define_method(rb_cNumber, "nonzero?", rb_num_nonzero_p, 0);
105
-
106
- // rb_define_method(rb_cNumber, "floor", rb_num_floor, 0);
107
- // rb_define_method(rb_cNumber, "ceil", rb_num_ceil, 0);
108
- // rb_define_method(rb_cNumber, "round", rb_num_round, -1);
109
- // rb_define_method(rb_cNumber, "truncate", rb_num_truncate, 0);
110
- // rb_define_method(rb_cNumber, "step", rb_num_step, -1);
111
-
112
- // rb_define_method(rb_cNumber, "odd?", rb_num_odd_p, 0);
113
- // rb_define_method(rb_cNumber, "even?", rb_num_even_p, 0);
114
- // rb_define_method(rb_cNumber, "upto", rb_num_upto, 1);
115
- // rb_define_method(rb_cNumber, "downto", rb_num_downto, 1);
116
- // rb_define_method(rb_cNumber, "times", rb_num_dotimes, 0);
117
- // rb_define_method(rb_cNumber, "succ", rb_num_succ, 0);
118
- // rb_define_method(rb_cNumber, "next", rb_num_succ, 0);
119
- // rb_define_method(rb_cNumber, "pred", rb_num_pred, 0);
120
- // rb_define_method(rb_cNumber, "chr", rb_num_chr, -1);
121
- // rb_define_method(rb_cNumber, "ord", rb_num_ord, 0);
122
- // rb_define_method(rb_cNumber, "to_i", rb_num_to_i, 0);
123
- // rb_define_method(rb_cNumber, "to_s", rb_num_to_s, -1);
124
- // rb_define_method(rb_cNumber, "to_f", rb_num_to_f, 0);
125
-
126
- rb_define_method(rb_cNumber, "+", rb_num_plus, 1);
127
- rb_define_method(rb_cNumber, "-", rb_num_minus, 1);
128
- rb_define_method(rb_cNumber, "*", rb_num_mul, 1);
129
- rb_define_method(rb_cNumber, "/", rb_num_div, 1);
130
- rb_define_method(rb_cNumber, "%", rb_num_modulo, 1);
131
- rb_define_method(rb_cNumber, "**", rb_num_pow, 1);
132
-
133
- // rb_define_method(rb_cNumber, "==", rb_num_equal, 1);
134
- // rb_define_method(rb_cNumber, "<=>", rb_num_cmp, 1);
135
- rb_define_method(rb_cNumber, ">", rb_num_gt, 1);
136
- rb_define_method(rb_cNumber, ">=", rb_num_ge, 1);
137
- rb_define_method(rb_cNumber, "<", rb_num_lt, 1);
138
- rb_define_method(rb_cNumber, "<=", rb_num_le, 1);
139
-
140
- // rb_define_method(rb_cNumber, "~", rb_num_rev, 0);
141
- // rb_define_method(rb_cNumber, "&", rb_num_and, 1);
142
- // rb_define_method(rb_cNumber, "|", rb_num_or, 1);
143
- // rb_define_method(rb_cNumber, "^", rb_num_xor, 1);
144
- // rb_define_method(rb_cNumber, "[]", rb_num_aref, 1);
145
-
146
- // rb_define_method(rb_cNumber, "<<", rb_num_lshift, 1);
147
- // rb_define_method(rb_cNumber, ">>", rb_num_rshift, 1);
148
- }
data/runtime/object.js DELETED
@@ -1,522 +0,0 @@
1
- /*
2
- * object.js
3
- * opal
4
- *
5
- * Created by Adam Beynon.
6
- * Copyright 2010 Adam Beynon.
7
- *
8
- * Permission is hereby granted, free of charge, to any person obtaining a copy
9
- * of this software and associated documentation files (the "Software"), to deal
10
- * in the Software without restriction, including without limitation the rights
11
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
- * copies of the Software, and to permit persons to whom the Software is
13
- * furnished to do so, subject to the following conditions:
14
- *
15
- * The above copyright notice and this permission notice shall be included in
16
- * all copies or substantial portions of the Software.
17
- *
18
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
- * THE SOFTWARE.
25
- */
26
-
27
-
28
- /**
29
- Core objects
30
- */
31
-
32
- var rb_cBasicObject, rb_cObject, rb_cModule, rb_cClass;
33
- var rb_cNilClass;
34
-
35
-
36
-
37
- // /**
38
- // For compatibility
39
- // */
40
- // RObject.prototype.$i_g = function(id) {
41
- // if (this.$iv_tbl[id] == undefined || this.$iv_tbl[id] == null) {
42
- // return nil;
43
- // }
44
- // return this.$iv_tbl[id];
45
- // };
46
- //
47
- // /*
48
- // $ - call method
49
- // @param id - method name
50
- // @param args - array of all arguments
51
- // */
52
- // RObject.prototype.$ = function(id, args) {
53
- // var method = this.$klass.$search_method(id);
54
- //
55
- // if (!method) {
56
- // console.log(this);
57
- // throw 'RObject#call cannot find method: ' + id ;
58
- // }
59
- // return method.apply(this, args) ;
60
- // };
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
- /**
69
- Call super method
70
- */
71
- var rb_supcall = function rb_supcall(from, self, id, args) {
72
- var method = self.$klass.$search_super_method(from, id);
73
- if (!method) throw 'RObject#call cannot find super method for: ' + id ;
74
-
75
- switch(args.length) {
76
- case 0: return method(self, id);
77
- case 1: return method(self, id, args[0]);
78
- case 2: return method(self, id, args[0], args[1]);
79
- case 3: return method(self, id, args[0], args[1], args[2]);
80
- case 4: return method(self, id, args[0], args[1], args[2], args[3]);
81
- }
82
-
83
- return method.apply(self, arguments);
84
- };
85
-
86
-
87
-
88
- // RClass.prototype.$search_super_method = function(from,id) {
89
- // // get current
90
- //
91
- // /**
92
- // Match func = from, to match current function
93
- // THEN search by name from there up, otherwise, chains of more then
94
- // 2 supers will keep rematching second super
95
- // */
96
- // var klass = this; var func;
97
- // while (!((func = klass.$m_tbl[id]) && func == from)) {
98
- // klass = klass.$super;
99
- // if (!klass) return undefined;
100
- // }
101
- // // now skip up one
102
- // klass = klass.$super;
103
- // if (!klass) return undefined;
104
- // while (!(func = klass.$m_tbl[id])) {
105
- // klass = klass.$super;
106
- // if(!klass) return undefined;
107
- // }
108
- // return func;
109
- //
110
- // //
111
- // // var klass = this; var func;
112
- // // while (!((func = klass.$m_tbl[id]) && func != from)) {
113
- // // klass = klass.$super;
114
- // // if(!klass) return undefined;
115
- // // }
116
- // //
117
- // // var klass = this; var func;
118
- // // // console.log('from');
119
- // // // console.log(from);
120
- // // // console.log('views');
121
- // // // console.log(klass.$m_tbl[id]);
122
- // // // console.log(klass.$m_tbl[id] === from);
123
- // // // console.log(klass.$m_tbl[id]);
124
- // // while (!((func = klass.$m_tbl[id]) && func != from)) {
125
- // // klass = klass.$super;
126
- // // if(!klass) return undefined;
127
- // // }
128
- // // // return func = klass.$m_tbl[id];
129
- // // // return func = klass.$m_tbl[id];
130
- // // return func;
131
- //
132
- // // var klass = this; var func ;
133
- // //
134
- // // while (!(func = klass.$m_tbl[id])) {
135
- // // klass = klass.$super;
136
- // // if (!klass) return undefined;
137
- // // }
138
- // // console.log('this point');
139
- // // // we have the current impl, now we need to search for the super from this point..
140
- // // klass = klass.$super;
141
- // // if (!klass) return undefined;
142
- // // while (!(func = klass.$m_tbl[id])) {
143
- // // klass = klass.$super;
144
- // // if (!klass) return undefined;
145
- // // }
146
- // // return func;
147
- // };
148
-
149
- // /**
150
- // For compatibility
151
- // */
152
- // var VN$sup = rb_supcall;
153
- //
154
- // /**
155
- // Call super
156
- // - from = callee
157
- // */
158
- // RObject.prototype.$sup = function(from, id, args) {
159
- // // console.log('callee');
160
- // // console.log(from);
161
- // var method = this.$klass.$search_super_method(from, id);
162
- // if (!method) throw 'RObject#call cannot find super method for: ' + id ;
163
- // // console.log('got super');
164
- // // console.log(method);
165
- // return method.apply(this, args) ;
166
- // };
167
- //
168
- // /**
169
- // We need to copy some of RClass' methods for singletons
170
- // */
171
- // RObject.prototype.$def_s = RClass.prototype.$def_s;
172
- // RObject.prototype.$make_metaclass = RClass.prototype.$make_metaclass;
173
-
174
-
175
- /*
176
- * object.js
177
- * vienna
178
- *
179
- * Created by Adam Beynon.
180
- * Copyright 2009 Adam Beynon.
181
- *
182
- * Permission is hereby granted, free of charge, to any person obtaining a copy
183
- * of this software and associated documentation files (the "Software"), to deal
184
- * in the Software without restriction, including without limitation the rights
185
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
186
- * copies of the Software, and to permit persons to whom the Software is
187
- * furnished to do so, subject to the following conditions:
188
- *
189
- * The above copyright notice and this permission notice shall be included in
190
- * all copies or substantial portions of the Software.
191
- *
192
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
193
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
194
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
195
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
196
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
197
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
198
- * THE SOFTWARE.
199
- */
200
-
201
- function rb_obj_alloc(klass) {
202
- return rb_class_allocate_instance(klass);
203
- // return rb_funcall(klass, 'allocate', 0);
204
- }
205
-
206
- function rb_obj_dummy() {
207
- return nil;
208
- }
209
-
210
- function rb_class_allocate_instance(klass) {
211
- var o = new RObject();
212
- o.klass = klass;
213
- FL_SET(o, T_OBJECT);
214
- return o;
215
- }
216
-
217
- function rb_obj_equal(self, obj) {
218
- if (self == obj) return true;
219
- return false;
220
- }
221
-
222
- function rb_obj_not(self) {
223
- return RTEST(self) ? false : true;
224
- }
225
-
226
- function rb_obj_not_equal(self, obj) {
227
- var r = rb_funcall(self, "==", obj);
228
- return RTEST(r) ? false : true;
229
- }
230
-
231
- function rb_false() {
232
- return false;
233
- }
234
-
235
- function rb_true() {
236
- return true;
237
- }
238
-
239
- function rb_equal(self, obj) {
240
- var r;
241
- if (self == obj) return true;
242
- r = rb_funcall(self, "==", obj);
243
- if (RTEST(r)) return true;
244
- return false;
245
- }
246
-
247
- function rb_obj_match() {
248
- return nil;
249
- }
250
-
251
- function rb_obj_not_match(self, obj) {
252
- var r = rb_funcall(self, "=~", obj);
253
- return RTEST(r) ? false : true;
254
- }
255
-
256
- function rb_class_real(klass) {
257
- if (!klass) return nil;
258
- while (FL_TEST(klass, FL_SINGLETON) || FL_TEST(klass, T_ICLASS)) {
259
- klass = klass.sup;
260
- }
261
- return klass;
262
- }
263
-
264
- function rb_obj_class(self) {
265
- return rb_class_real(self.klass);
266
- }
267
-
268
- function rb_obj_clone(self) {
269
- return self;
270
- }
271
-
272
- function rb_obj_dup(self) {
273
- return self;
274
- }
275
-
276
- function rb_obj_init_copy(self) {
277
- return self;
278
- }
279
-
280
- function rb_any_to_s(self) {
281
- var c = rb_obj_classname(self);
282
- return "<" + c + ":0x000000>";
283
- }
284
-
285
- function rb_obj_inspect(self) {
286
- return rb_any_to_s(self);
287
- }
288
-
289
- function rb_class_new_instance(argc, argv, klass) {
290
- var o = rb_obj_alloc(klass);
291
- // initialize..
292
- var call_args = [o, "initialize", argc];
293
- for (var i = 0; i < argc; i++) {
294
- call_args.push(argv[i]);
295
- }
296
- rb_funcall.apply(o, call_args);
297
-
298
- return o;
299
- };
300
-
301
- function rb_f_puts(argc, argv, recv) {
302
- for (var i = 0; i < argc; i++) {
303
- console.log(argv[i]);
304
- }
305
- };
306
-
307
- function rb_mod_attr_reader(argc, argv, recv) {
308
- for (var i = 0; i < argc; i++) {
309
- var s = argv[i].ptr;
310
- var f = new Function('r', 'return rb_ivar_get(r, "@' + s + '");');
311
- rb_define_method(recv, s, f, 0);
312
- }
313
- return nil;
314
- };
315
-
316
- function rb_mod_attr_writer(argc, argv, recv) {
317
- for (var i = 0; i < argc; i++) {
318
- var s = argv[i].ptr;
319
- var f = new Function('r', 'v', 'return rb_ivar_set(r, "@' + s + '", v);');
320
- rb_define_method(recv, s + '=', f, 1);
321
- }
322
- return nil;
323
- };
324
-
325
- function rb_mod_attr_accessor(argc, argv, recv) {
326
- rb_mod_attr_reader(argc, argv, recv);
327
- rb_mod_attr_writer(argc, argv, recv);
328
- return nil;
329
- };
330
-
331
- function rb_mod_const_set(mod, id, val) {
332
- // FIXME: should really check that id is valid... i.e. does it start with an
333
- // uppercase letter.
334
- rb_const_set(mod, id, val);
335
- return val;
336
- };
337
-
338
- function rb_obj_respond_to(argc, argv, obj) {
339
- // first arg is a symbol to use
340
- var id = argv[0].ptr;
341
- var f = rb_search_method(obj.klass, id);
342
- if (f) return true;
343
- return false;
344
- };
345
-
346
-
347
-
348
-
349
-
350
- function Init_Object() {
351
- var metaclass;
352
- rb_cBasicObject = boot_defclass('BasicObject', null);
353
- rb_cObject = boot_defclass('Object', rb_cBasicObject);
354
- rb_cModule = boot_defclass('Module', rb_cObject);
355
- rb_cClass = boot_defclass('Class', rb_cModule);
356
-
357
- // hmm, we jhave to set the const again... or should we?
358
- rb_const_set(rb_cObject, "BaiscObject", rb_cBasicObject);
359
-
360
- metaclass = rb_make_metaclass(rb_cBasicObject, rb_cClass);
361
- metaclass = rb_make_metaclass(rb_cObject, metaclass);
362
- metaclass = rb_make_metaclass(rb_cModule, metaclass);
363
- metaclass = rb_make_metaclass(rb_cClass, metaclass);
364
-
365
- boot_defmetametaclass(rb_cModule, metaclass);
366
- boot_defmetametaclass(rb_cObject, metaclass);
367
- boot_defmetametaclass(rb_cBasicObject, metaclass);
368
-
369
- rb_define_private_method(rb_cBasicObject, "initialize", rb_obj_dummy, 0);
370
- // FIXME: wtf made this break?
371
- // rb_define_alloc_func(rb_cBasicObject, rb_class_allocate_instance);
372
- rb_define_method(rb_cBasicObject, "==", rb_obj_equal, 1);
373
- rb_define_method(rb_cBasicObject, "equal?", rb_obj_equal, 1);
374
- rb_define_method(rb_cBasicObject, "!", rb_obj_not, 0);
375
- rb_define_method(rb_cBasicObject, "!=", rb_obj_not_equal, 1);
376
-
377
- rb_define_private_method(rb_cBasicObject, "singleton_method_added", rb_obj_dummy, 1);
378
- rb_define_private_method(rb_cBasicObject, "singleton_method_removed", rb_obj_dummy, 1);
379
- rb_define_private_method(rb_cBasicObject, "singleton_method_undefined", rb_obj_dummy, 1);
380
-
381
- rb_mKernel = rb_define_module("Kernel");
382
- rb_include_module(rb_cObject, rb_mKernel);
383
- rb_define_private_method(rb_cClass, "inherited", rb_obj_dummy, 1);
384
- rb_define_private_method(rb_cModule, "included", rb_obj_dummy, 1);
385
- rb_define_private_method(rb_cModule, "extended", rb_obj_dummy, 1);
386
- rb_define_private_method(rb_cModule, "method_added", rb_obj_dummy, 1);
387
- rb_define_private_method(rb_cModule, "method_removed", rb_obj_dummy, 1);
388
- rb_define_private_method(rb_cModule, "method_undefined", rb_obj_dummy, 1);
389
-
390
- rb_define_method(rb_mKernel, "nil?", rb_false, 0);
391
- rb_define_method(rb_mKernel, "===", rb_equal, 1);
392
- rb_define_method(rb_mKernel, "=~", rb_obj_match, 1);
393
- rb_define_method(rb_mKernel, "!~", rb_obj_not_match, 1);
394
- rb_define_method(rb_mKernel, "eql?", rb_obj_equal, 1);
395
-
396
- rb_define_method(rb_mKernel, "class", rb_obj_class, 0);
397
- rb_define_method(rb_mKernel, "clone", rb_obj_clone, 0);
398
- rb_define_method(rb_mKernel, "dup", rb_obj_dup, 0);
399
- rb_define_method(rb_mKernel, "initialize_copy", rb_obj_init_copy, 1);
400
-
401
- // rb_define_method(rb_mKernel, "taint", rb_obj_taint, 0);
402
- // rb_define_method(rb_mKernel, "tainted?", rb_obj_tainted, 0);
403
- // rb_define_method(rb_mKernel, "untaint", rb_obj_untaint, 0);
404
- // rb_define_method(rb_mKernel, "untrust", rb_obj_untrust, 0);
405
- // rb_define_method(rb_mKernel, "untrusted?", rb_obj_untrusted, 0);
406
- // rb_define_method(rb_mKernel, "trust", rb_obj_trust, 0);
407
- // rb_define_method(rb_mKernel, "freeze", rb_obj_freeze, 0);
408
- // rb_define_method(rb_mKernel, "frozen?", rb_obj_frozen_p, 0);
409
-
410
- rb_define_method(rb_mKernel, "respond_to?", rb_obj_respond_to, -1);
411
-
412
- rb_define_method(rb_mKernel, "puts", rb_f_puts, -1);
413
-
414
- rb_define_method(rb_mKernel, "to_s", rb_any_to_s, 0);
415
- rb_define_method(rb_mKernel, "inspect", rb_obj_inspect, 0);
416
- // rb_define_method(rb_mKernel, "methods", rb_obj_methods, -1);
417
- // rb_define_method(rb_mKernel, "singleton_methods", rb_obj_singleton_methods, -1);
418
- // rb_define_method(rb_mKernel, "protected_methods", rb_obj_protected_methods, -1);
419
- // rb_define_method(rb_mKernel, "private_methods", rb_obj_private_methods, -1);
420
- // rb_define_method(rb_mKernel, "public_methods", rb_obj_public_methods, -1);
421
- // rb_define_method(rb_mKernel, "instance_variables", rb_obj_instance_variables, 0);
422
- // rb_define_method(rb_mKernel, "instance_variable_get", rb_obj_ivar_get, 1);
423
- // rb_define_method(rb_mKernel, "instance_variable_set", rb_obj_ivar_set, 2);
424
- // rb_define_method(rb_mKernel, "instance_variable_defined?", rb_obj_ivar_defined, 1);
425
- // rb_define_private_method(rb_mKernel, "remove_instance_variable", rb_obj_remove_instance_variable, 1);
426
- //
427
- // rb_define_method(rb_mKernel, "instance_of?", rb_obj_is_instance_of, 1);
428
- // rb_define_method(rb_mKernel, "kind_of?", rb_obj_is_kind_of, 1);
429
- // rb_define_method(rb_mKernel, "is_a?", rb_obj_is_kind_of, 1);
430
- // rb_define_method(rb_mKernel, "tap", rb_obj_tap, 0);
431
- //
432
- // rb_define_global_function("sprintf", rb_f_sprintf, -1);
433
- // rb_define_global_function("format", rb_f_sprintf, -1);
434
- //
435
- // rb_define_global_function("Integer", rb_f_integer, 1);
436
- // rb_define_global_function("Float", rb_f_float, 1);
437
- //
438
- // rb_define_global_function("String", rb_f_string, 1);
439
- // rb_define_global_function("Array", rb_f_array, 1);
440
-
441
- rb_cNilClass = rb_define_class("NilClass", rb_cObject);
442
- // rb_define_method(rb_cNilClass, "to_i", nil_to_i, 0);
443
- // rb_define_method(rb_cNilClass, "to_f", nil_to_f, 0);
444
- // rb_define_method(rb_cNilClass, "to_s", nil_to_s, 0);
445
- // rb_define_method(rb_cNilClass, "to_a", nil_to_a, 0);
446
- // rb_define_method(rb_cNilClass, "inspect", nil_inspect, 0);
447
- // rb_define_method(rb_cNilClass, "&", false_and, 1);
448
- // rb_define_method(rb_cNilClass, "|", false_or, 1);
449
- // rb_define_method(rb_cNilClass, "^", false_xor, 1);
450
- nil = { flags: T_OBJECT, klass: rb_cNilClass };
451
- //
452
- // rb_define_method(rb_cNilClass, "nil?", rb_true, 0);
453
- // rb_undef_alloc_func(rb_cNilClass);
454
- // rb_undef_method(rb_cNilClass.klass, "new");
455
- // rb_define_global_const("NIL", Qnil);
456
- //
457
- // rb_define_method(rb_cModule, "freeze", rb_mod_freeze, 0);
458
- // rb_define_method(rb_cModule, "===", rb_mod_eqq, 1);
459
- // rb_define_method(rb_cModule, "==", rb_obj_equal, 1);
460
- // rb_define_method(rb_cModule, "<=>", rb_mod_cmp, 1);
461
- // rb_define_method(rb_cModule, "<", rb_mod_lt, 1);
462
- // rb_define_method(rb_cModule, "<=", rb_class_inherited_p, 1);
463
- // rb_define_method(rb_cModule, ">", rb_mod_gt, 1);
464
- // rb_define_method(rb_cModule, ">=", rb_mod_ge, 1);
465
- // rb_define_method(rb_cModule, "initialize_copy", rb_mod_init_copy, 1);
466
- // rb_define_method(rb_cModule, "to_s", rb_mod_to_s, 0);
467
- // rb_define_method(rb_cModule, "included_modules", rb_mod_included_modules, 0);
468
- // rb_define_method(rb_cModule, "include?", rb_mod_include_p, 1);
469
- // rb_define_method(rb_cModule, "name", rb_mod_name, 0);
470
- // rb_define_method(rb_cModule, "ancestors", rb_mod_ancestors, 0);
471
- //
472
- // rb_define_private_method(rb_cModule, "attr", rb_mod_attr, -1);
473
- rb_define_private_method(rb_cModule, "attr_reader", rb_mod_attr_reader, -1);
474
- rb_define_private_method(rb_cModule, "attr_writer", rb_mod_attr_writer, -1);
475
- rb_define_private_method(rb_cModule, "attr_accessor", rb_mod_attr_accessor, -1);
476
- //
477
- // rb_define_alloc_func(rb_cModule, rb_module_s_alloc);
478
- // rb_define_method(rb_cModule, "initialize", rb_mod_initialize, 0);
479
- // rb_define_method(rb_cModule, "instance_methods", rb_class_instance_methods, -1);
480
- // rb_define_method(rb_cModule, "public_instance_methods", rb_class_public_instance_methods, -1);
481
- // rb_define_method(rb_cModule, "protected_instance_methods", rb_class_protected_instance_methods, -1);
482
- // rb_define_method(rb_cModule, "private_instance_methods", rb_class_private_instance_methods, -1);
483
- //
484
- // rb_define_method(rb_cModule, "constants", rb_mod_constants, -1);
485
- // rb_define_method(rb_cModule, "const_get", rb_mod_const_get, -1);
486
- rb_define_method(rb_cModule, "const_set", rb_mod_const_set, 2);
487
- // rb_define_method(rb_cModule, "const_defined?", rb_mod_const_defined, -1);
488
- // rb_define_private_method(rb_cModule, "remove_const", rb_mod_remove_const, 1);
489
- // rb_define_method(rb_cModule, "const_missing", rb_mod_const_missing, 1);
490
- // rb_define_method(rb_cModule, "class_variables", rb_mod_class_variables, 0);
491
- // rb_define_method(rb_cModule, "remove_class_variable", rb_mod_remove_cvar, 1);
492
- // rb_define_method(rb_cModule, "class_variable_get", rb_mod_cvar_get, 1);
493
- // rb_define_method(rb_cModule, "class_variable_set", rb_mod_cvar_set, 2);
494
- // rb_define_method(rb_cModule, "class_variable_defined?", rb_mod_cvar_defined, 1);
495
- //
496
- rb_define_method(rb_cClass, "allocate", rb_obj_alloc, 0);
497
- rb_define_method(rb_cClass, "new", rb_class_new_instance, -1);
498
- // rb_define_method(rb_cClass, "initialize", rb_class_initialize, -1);
499
- // rb_define_method(rb_cClass, "initialize_copy", rb_class_init_copy, 1);
500
- // rb_define_method(rb_cClass, "superclass", rb_class_superclass, 0);
501
- // rb_define_alloc_func(rb_cClass, rb_class_s_alloc);
502
- // rb_undef_method(rb_cClass, "extend_object");
503
- // rb_undef_method(rb_cClass, "append_features");
504
- //
505
- // rb_cTrueClass = rb_define_class("TrueClass", rb_cObject);
506
- // rb_define_method(rb_cTrueClass, "to_s", true_to_s, 0);
507
- // rb_define_method(rb_cTrueClass, "&", true_and, 1);
508
- // rb_define_method(rb_cTrueClass, "|", true_or, 1);
509
- // rb_define_method(rb_cTrueClass, "^", true_xor, 1);
510
- // rb_undef_alloc_func(rb_cTrueClass);
511
- // rb_undef_method(rb_cTrueClass.klass, "new");
512
- // rb_define_global_const("TRUE", true);
513
- //
514
- // rb_cFalseClass = rb_define_class("FalseClass", rb_cObject);
515
- // rb_define_method(rb_cFalseClass, "to_s", false_to_s, 0);
516
- // rb_define_method(rb_cFalseClass, "&", false_and, 1);
517
- // rb_define_method(rb_cFalseClass, "|", false_or, 1);
518
- // rb_define_method(rb_cFalseClass, "^", false_xor, 1);
519
- // rb_undef_alloc_func(rb_cFalseClass);
520
- // rb_undef_method(rb_cFalseClass.klass, "new");
521
- // rb_define_global_const("FALSE", false);
522
- }