opal 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +10 -1
- data/.gitmodules +0 -0
- data/Opalfile +371 -0
- data/README.md +45 -0
- data/Rakefile +237 -34
- data/VERSION +1 -1
- data/bin/opal +13 -0
- data/demos/apps/browser_demo/index.html +11 -0
- data/demos/apps/browser_demo/lib/browser_demo.rb +31 -0
- data/demos/apps/simple_opal/Opalfile +13 -0
- data/demos/apps/simple_opal/index.html +11 -0
- data/demos/apps/simple_opal/lib/app_controller.rb +62 -0
- data/demos/apps/simple_opal/lib/main_window.rb +146 -0
- data/demos/browser/request/index.html +52 -0
- data/demos/browser/request/request.rb +48 -0
- data/gen/browser/__PROJECT_NAME__/index.html +10 -0
- data/gen/browser/__PROJECT_NAME__/lib/__PROJECT_NAME__.rb +1 -0
- data/lib/opal.rb +48 -3
- data/lib/opal/builders/base.rb +50 -0
- data/lib/opal/builders/css.rb +46 -0
- data/lib/opal/builders/javascript.rb +44 -0
- data/lib/opal/builders/opal.rb +79 -0
- data/lib/opal/builders/ruby.rb +50 -0
- data/lib/opal/builders/ruby/generate.rb +1851 -0
- data/lib/opal/builders/ruby/nodes.rb +210 -0
- data/lib/opal/builders/ruby/ruby.rb +916 -0
- data/lib/opal/builders/ruby/ruby_parser.rb +6008 -0
- data/lib/opal/builders/ruby/ruby_parser.rb.y +1451 -0
- data/lib/opal/models/build_item.rb +104 -0
- data/lib/opal/models/hash_struct.rb +40 -0
- data/lib/opal/models/project.rb +215 -0
- data/lib/opal/models/struct_accessors.rb +58 -0
- data/lib/opal/models/target.rb +176 -0
- data/lib/opal/opal/env/console.rb +66 -0
- data/lib/opal/opal/env/fs.rb +98 -0
- data/lib/opal/opal/env/object.rb +48 -0
- data/lib/opal/opal/environment.rb +139 -0
- data/lib/opal/opal/gen.rb +62 -0
- data/lib/opal/opal/opal.rb +68 -0
- data/lib/opal/opal/repl.rb +38 -0
- data/lib/opal/opalfile/dsl.rb +62 -0
- data/lib/opal/opalfile/opalfile.rb +133 -0
- data/lib/opal/opalfile/task.rb +96 -0
- data/lib/opal/opalfile/task_manager.rb +63 -0
- data/lib/opal/opalfile/task_scope.rb +52 -0
- data/lib/opal/rack/app_server.rb +119 -0
- data/opals/aristo/README.md +16 -0
- data/opals/browser/Opalfile +11 -0
- data/opals/browser/README.md +146 -0
- data/opals/browser/SIZZLE_LICESNSE.txt +148 -0
- data/opals/browser/lib/browser.rb +118 -0
- data/opals/browser/lib/browser/builder.rb +41 -0
- data/opals/browser/lib/browser/canvas_context.rb +115 -0
- data/opals/browser/lib/browser/dimensions.rb +50 -0
- data/opals/browser/lib/browser/document.rb +146 -0
- data/opals/browser/lib/browser/element.rb +487 -0
- data/opals/browser/lib/browser/element/attributes.rb +88 -0
- data/opals/browser/lib/browser/element/css.rb +290 -0
- data/opals/browser/lib/browser/element/form.rb +146 -0
- data/opals/browser/lib/browser/event/dom_events.rb +81 -0
- data/opals/browser/lib/browser/event/event.rb +177 -0
- data/opals/browser/lib/browser/event/trigger_events.rb +53 -0
- data/opals/browser/lib/browser/geometry.rb +97 -0
- data/opals/browser/lib/browser/json.rb +32 -0
- data/opals/browser/lib/browser/json_parse.js +321 -0
- data/opals/browser/lib/browser/request/request.rb +201 -0
- data/opals/browser/lib/browser/sizzle.js +1068 -0
- data/opals/browser/lib/browser/string.rb +42 -0
- data/opals/browser/lib/browser/touch.rb +37 -0
- data/{runtime/yaml.js → opals/browser/lib/browser/vml_context.js} +8 -8
- data/opals/browser/lib/browser/window.rb +36 -0
- data/opals/browser/spec/browser/browser_detection_spec.rb +7 -0
- data/opals/browser/spec/document/aref_spec.rb +110 -0
- data/opals/browser/spec/document/ready_spec.rb +16 -0
- data/opals/browser/spec/element/body_spec.rb +11 -0
- data/opals/browser/spec/element/clear_spec.rb +26 -0
- data/opals/browser/spec/element/empty_spec.rb +29 -0
- data/opals/browser/spec/element/has_class_spec.rb +40 -0
- data/opals/browser/spec/element/hidden_spec.rb +23 -0
- data/opals/browser/spec/element/hide_spec.rb +31 -0
- data/opals/browser/spec/element/remove_spec.rb +25 -0
- data/opals/browser/spec/element/show_spec.rb +31 -0
- data/opals/browser/spec/element/style_spec.rb +69 -0
- data/opals/browser/spec/element/toggle_spec.rb +31 -0
- data/opals/browser/spec/element/visible_spec.rb +23 -0
- data/opals/browser/spec/spec_helper.rb +1 -0
- data/opals/cherry_kit/Opalfile +6 -0
- data/opals/cherry_kit/bin/cherry_kit.rb +11 -0
- data/opals/cherry_kit/lib/cherry_kit.rb +29 -0
- data/opals/foundation/Opalfile +11 -0
- data/opals/foundation/bin/foundation.rb +12 -0
- data/opals/foundation/lib/foundation.rb +32 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/outline_view.rb +57 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/table_column.rb +59 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/table_header_view.rb +34 -0
- data/opals/foundation/lib/foundation/__table_view_desktop/table_view.rb +304 -0
- data/opals/foundation/lib/foundation/controllers/array_controller.rb +54 -0
- data/opals/foundation/lib/foundation/controllers/controller.rb +74 -0
- data/opals/foundation/lib/foundation/controllers/controller_selection_proxy.rb +67 -0
- data/opals/foundation/lib/foundation/controllers/object_controller.rb +145 -0
- data/opals/foundation/lib/foundation/controllers/view.rb +40 -0
- data/opals/foundation/lib/foundation/core/application.rb +476 -0
- data/opals/foundation/lib/foundation/core/attributes.rb +146 -0
- data/opals/foundation/lib/foundation/core/bindings.rb +125 -0
- data/opals/foundation/lib/foundation/core/builder.rb +101 -0
- data/opals/foundation/lib/foundation/core/event.rb +112 -0
- data/opals/foundation/lib/foundation/core/index_path.rb +49 -0
- data/opals/foundation/lib/foundation/core/index_set.rb +97 -0
- data/opals/foundation/lib/foundation/core/notification.rb +113 -0
- data/opals/foundation/lib/foundation/core/observable.rb +275 -0
- data/opals/foundation/lib/foundation/core/observable_array.rb +30 -0
- data/opals/foundation/lib/foundation/core/responder.rb +85 -0
- data/opals/foundation/lib/foundation/core/run_loop.rb +89 -0
- data/opals/foundation/lib/foundation/core/touch.rb +95 -0
- data/opals/foundation/lib/foundation/gestures/gesture_recognizer.rb +35 -0
- data/opals/foundation/lib/foundation/rendering/render_context.rb +100 -0
- data/opals/foundation/lib/foundation/rendering/renderer.rb +137 -0
- data/opals/foundation/lib/foundation/rendering/root_theme.rb +77 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/button.rb +62 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/control.rb +72 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/label.rb +54 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/scroller.rb +58 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/slider.rb +72 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/table_view.rb +97 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/text_field.rb +55 -0
- data/opals/foundation/lib/foundation/rendering/root_theme/view.rb +81 -0
- data/opals/foundation/lib/foundation/rendering/theme.rb +38 -0
- data/opals/foundation/lib/foundation/table_view/cell.rb +39 -0
- data/opals/foundation/lib/foundation/table_view/table.rb +171 -0
- data/opals/foundation/lib/foundation/views/button.rb +63 -0
- data/opals/foundation/lib/foundation/views/checkbox.rb +28 -0
- data/opals/foundation/lib/foundation/views/clip.rb +47 -0
- data/opals/foundation/lib/foundation/views/control.rb +199 -0
- data/opals/foundation/lib/foundation/views/label.rb +54 -0
- data/opals/foundation/lib/foundation/views/scroll.rb +294 -0
- data/opals/foundation/lib/foundation/views/scroll_view_desktop.rb +152 -0
- data/opals/foundation/lib/foundation/views/scroller.rb +54 -0
- data/opals/foundation/lib/foundation/views/slider.rb +93 -0
- data/opals/foundation/lib/foundation/views/text_field.rb +83 -0
- data/opals/foundation/lib/foundation/views/view.rb +426 -0
- data/opals/foundation/lib/foundation/windows/window.rb +191 -0
- data/opals/foundation/resources/button/button.css +23 -0
- data/{runtime/init.js → opals/foundation/resources/foundation.css} +27 -33
- data/opals/foundation/resources/scroll/scroll.css +22 -0
- data/opals/foundation/resources/scroll_view/scroll_view.css +3 -0
- data/opals/foundation/resources/scroll_view/scroller.css +3 -0
- data/opals/foundation/resources/slider/regular/slider.css +3 -0
- data/opals/foundation/resources/slider/slider.css +27 -0
- data/opals/foundation/resources/table_view/outline_view.css +3 -0
- data/opals/foundation/resources/table_view/table_view.css +15 -0
- data/opals/foundation/resources/text_field/text_field.css +71 -0
- data/opals/foundation/spec/spec_helper.rb +1 -0
- data/opals/foundation/spec/system/attributes/get_attribute_spec.rb +69 -0
- data/opals/foundation/spec/system/attributes/get_path_spec.rb +44 -0
- data/opals/foundation/spec/system/attributes/set_path_spec.rb +24 -0
- data/opals/foundation/spec/system/attributes/set_spec.rb +58 -0
- data/opals/foundation/spec/system/bindings/bindings.rb +85 -0
- data/opals/foundation/spec/system/key_value_binding/bind_spec.rb +43 -0
- data/opals/foundation/spec/system/observable/dependant_keys_spec.rb +74 -0
- data/opals/foundation/spec/system/observable/observe_spec.rb +292 -0
- data/opals/foundation/spec/system/observable/remove_observer_spec.rb +60 -0
- data/opals/opal/Opalfile +14 -0
- data/opals/opal/spec/core/array/append_spec.rb +30 -0
- data/opals/opal/spec/core/array/assoc_spec.rb +29 -0
- data/opals/opal/spec/core/array/at_spec.rb +37 -0
- data/opals/opal/spec/core/array/clear_spec.rb +22 -0
- data/opals/opal/spec/core/array/collect_bang_spec.rb +27 -0
- data/opals/opal/spec/core/array/collect_spec.rb +27 -0
- data/opals/opal/spec/core/array/compact_spec.rb +15 -0
- data/opals/opal/spec/core/array/concat_spec.rb +15 -0
- data/opals/opal/spec/core/array/constructor_spec.rb +14 -0
- data/opals/opal/spec/core/array/each_spec.rb +9 -0
- data/opals/opal/spec/core/array/element_reference_spec.rb +4 -0
- data/opals/opal/spec/core/array/first_spec.rb +35 -0
- data/opals/opal/spec/core/array/include_spec.rb +9 -0
- data/opals/opal/spec/core/array/map_spec.rb +31 -0
- data/opals/opal/spec/core/builtin_constants/builtin_constants_spec.rb +7 -0
- data/opals/opal/spec/core/false/and_spec.rb +10 -0
- data/opals/opal/spec/core/false/inspect_spec.rb +6 -0
- data/opals/opal/spec/core/false/or_spec.rb +10 -0
- data/opals/opal/spec/core/false/to_s_spec.rb +6 -0
- data/opals/opal/spec/core/false/xor_spec.rb +10 -0
- data/opals/opal/spec/core/file/join_spec.rb +19 -0
- data/opals/opal/spec/core/kernel/instance_eval_spec.rb +0 -0
- data/opals/opal/spec/core/kernel/loop_spec.rb +24 -0
- data/opals/opal/spec/core/kernel/raise_spec.rb +0 -0
- data/opals/opal/spec/core/module/attr_accessor_spec.rb +28 -0
- data/opals/opal/spec/core/number/lt_spec.rb +12 -0
- data/opals/opal/spec/core/true/and_spec.rb +10 -0
- data/opals/opal/spec/core/true/inspect_spec.rb +6 -0
- data/opals/opal/spec/core/true/or_spec.rb +10 -0
- data/opals/opal/spec/core/true/to_s_spec.rb +6 -0
- data/opals/opal/spec/core/true/xor_spec.rb +10 -0
- data/opals/opal/spec/fixtures/super.rb +70 -0
- data/opals/opal/spec/language/____temp_remove_this.rb +12 -0
- data/opals/opal/spec/language/and_spec.rb +62 -0
- data/opals/opal/spec/language/array_spec.rb +52 -0
- data/opals/opal/spec/language/block_spec.rb +18 -0
- data/opals/opal/spec/language/break_spec.rb +36 -0
- data/opals/opal/spec/language/case_spec.rb +103 -0
- data/opals/opal/spec/language/def_spec.rb +11 -0
- data/opals/opal/spec/language/eigenclass_spec.rb +60 -0
- data/opals/opal/spec/language/hash_spec.rb +29 -0
- data/opals/opal/spec/language/if_spec.rb +54 -0
- data/opals/opal/spec/language/loop_spec.rb +11 -0
- data/opals/opal/spec/language/metaclass_spec.rb +21 -0
- data/opals/opal/spec/language/method_spec.rb +64 -0
- data/opals/opal/spec/language/next_spec.rb +25 -0
- data/opals/opal/spec/language/or_spec.rb +34 -0
- data/opals/opal/spec/language/redo_spec.rb +24 -0
- data/opals/opal/spec/language/rescue_spec.rb +20 -0
- data/opals/opal/spec/language/return_spec.rb +47 -0
- data/opals/opal/spec/language/string_spec.rb +25 -0
- data/opals/opal/spec/language/super_spec.rb +26 -0
- data/opals/opal/spec/language/until_spec.rb +157 -0
- data/opals/opal/spec/language/while_spec.rb +163 -0
- data/opals/opal/spec/spec_helper.rb +5 -0
- data/opals/runtime/Opalfile +68 -0
- data/opals/runtime/README.md +12 -0
- data/opals/runtime/docs/debugging.md +51 -0
- data/opals/runtime/lib/array.rb +1516 -0
- data/opals/runtime/lib/basic_object.rb +49 -0
- data/opals/runtime/lib/class.rb +54 -0
- data/opals/runtime/lib/dir.rb +36 -0
- data/opals/runtime/lib/error.rb +49 -0
- data/opals/runtime/lib/false_class.rb +52 -0
- data/opals/runtime/lib/file.rb +79 -0
- data/opals/runtime/lib/hash.rb +791 -0
- data/opals/runtime/lib/io.rb +39 -0
- data/opals/runtime/lib/kernel.rb +288 -0
- data/opals/runtime/lib/match_data.rb +36 -0
- data/opals/runtime/lib/module.rb +109 -0
- data/opals/runtime/lib/nil_class.rb +69 -0
- data/opals/runtime/lib/number.rb +398 -0
- data/opals/runtime/lib/proc.rb +77 -0
- data/opals/runtime/lib/range.rb +63 -0
- data/opals/runtime/lib/regexp.rb +111 -0
- data/opals/runtime/lib/ruby.rb +30 -0
- data/opals/runtime/lib/string.rb +328 -0
- data/opals/runtime/lib/symbol.rb +40 -0
- data/opals/runtime/lib/top_self.rb +33 -0
- data/opals/runtime/lib/true_class.rb +45 -0
- data/opals/runtime/runtime/browser.js +287 -0
- data/opals/runtime/runtime/debug.js +182 -0
- data/opals/runtime/runtime/opal.js +1010 -0
- data/opals/runtime/runtime/post_opal.js +1 -0
- data/opals/runtime/runtime/pre_opal.js +2 -0
- data/opals/runtime/runtime/server_side.js +50 -0
- data/opals/spec/LICENSE.txt +26 -0
- data/opals/spec/Opalfile +5 -0
- data/opals/spec/bin/spec.rb +43 -0
- data/opals/spec/lib/spec.rb +33 -0
- data/opals/spec/lib/spec/dsl.rb +41 -0
- data/opals/spec/lib/spec/example.rb +35 -0
- data/opals/spec/lib/spec/example/before_and_after_hooks.rb +81 -0
- data/opals/spec/lib/spec/example/errors.rb +42 -0
- data/opals/spec/lib/spec/example/example_group.rb +37 -0
- data/opals/spec/lib/spec/example/example_group_factory.rb +43 -0
- data/opals/spec/lib/spec/example/example_group_hierarchy.rb +45 -0
- data/opals/spec/lib/spec/example/example_group_methods.rb +142 -0
- data/opals/spec/lib/spec/example/example_group_proxy.rb +41 -0
- data/opals/spec/lib/spec/example/example_methods.rb +73 -0
- data/opals/spec/lib/spec/example/example_proxy.rb +48 -0
- data/opals/spec/lib/spec/expectations.rb +46 -0
- data/opals/spec/lib/spec/expectations/errors.rb +35 -0
- data/opals/spec/lib/spec/expectations/fail_with.rb +37 -0
- data/opals/spec/lib/spec/expectations/handler.rb +48 -0
- data/opals/spec/lib/spec/matchers.rb +50 -0
- data/opals/spec/lib/spec/matchers/be.rb +26 -0
- data/opals/spec/lib/spec/matchers/generated_descriptions.rb +47 -0
- data/opals/spec/lib/spec/matchers/operator_matcher.rb +66 -0
- data/opals/spec/lib/spec/runner.rb +48 -0
- data/opals/spec/lib/spec/runner/example_group_runner.rb +71 -0
- data/opals/spec/lib/spec/runner/formatter/html_formatter.rb +100 -0
- data/opals/spec/lib/spec/runner/formatter/terminal_formatter.rb +82 -0
- data/opals/spec/lib/spec/runner/options.rb +63 -0
- data/opals/spec/lib/spec/runner/reporter.rb +123 -0
- data/opals/spec/resources/index.html +25 -0
- data/opals/spec/resources/spec.css +132 -0
- data/spec/cherry_kit/iseq_spec.rb +38 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/vienna_spec.rb +7 -0
- data/yard/index.html +43 -0
- data/yard/style.css +765 -0
- metadata +312 -49
- data/docs/jarv.rdoc +0 -27
- data/runtime/array.js +0 -153
- data/runtime/class.js +0 -469
- data/runtime/compar.js +0 -73
- data/runtime/dir.js +0 -115
- data/runtime/enum.js +0 -74
- data/runtime/file.js +0 -165
- data/runtime/gem.js +0 -241
- data/runtime/hash.js +0 -181
- data/runtime/load.js +0 -251
- data/runtime/module.js +0 -98
- data/runtime/number.js +0 -148
- data/runtime/object.js +0 -522
- data/runtime/opal.js +0 -200
- data/runtime/parse.js +0 -2218
- data/runtime/range.js +0 -56
- data/runtime/re.js +0 -91
- data/runtime/string.js +0 -199
- data/runtime/variable.js +0 -184
- data/runtime/vm.js +0 -1150
- 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
|
-
}
|