diff options
| author | ksss <[email protected]> | 2014-06-15 22:34:46 +0900 |
|---|---|---|
| committer | ksss <[email protected]> | 2014-06-15 22:34:46 +0900 |
| commit | 1cced27a7928a82241210ed5ccc47b9cdb9e8703 (patch) | |
| tree | 7518d3b9e554d53cf80dfe738970c39b6768730c /src | |
| parent | 0042e586db875fca2631c243cb41599e9782b05a (diff) | |
| download | mruby-1cced27a7928a82241210ed5ccc47b9cdb9e8703.tar.gz mruby-1cced27a7928a82241210ed5ccc47b9cdb9e8703.zip | |
Proc class define before a first method
mrb_define_method setting mrb->proc_class for method proc
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 3 | ||||
| -rw-r--r-- | src/proc.c | 3 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/class.c b/src/class.c index ba078911b..42e2d5d33 100644 --- a/src/class.c +++ b/src/class.c @@ -1979,6 +1979,9 @@ mrb_init_class(mrb_state *mrb) name_class(mrb, mod, mrb_intern_lit(mrb, "Module")); /* 15.2.2 */ name_class(mrb, cls, mrb_intern_lit(mrb, "Class")); /* 15.2.3 */ + mrb->proc_class = mrb_define_class(mrb, "Proc", mrb->object_class); /* 15.2.17 */ + MRB_SET_INSTANCE_TT(mrb->proc_class, MRB_TT_PROC); + MRB_SET_INSTANCE_TT(cls, MRB_TT_CLASS); mrb_define_method(mrb, bob, "initialize", mrb_bob_init, MRB_ARGS_NONE()); mrb_define_method(mrb, bob, "!", mrb_bob_not, MRB_ARGS_NONE()); diff --git a/src/proc.c b/src/proc.c index d4fe86680..da1a52e19 100644 --- a/src/proc.c +++ b/src/proc.c @@ -201,9 +201,6 @@ mrb_init_proc(mrb_state *mrb) call_irep->iseq = call_iseq; call_irep->ilen = 1; - mrb->proc_class = mrb_define_class(mrb, "Proc", mrb->object_class); /* 15.2.17 */ - MRB_SET_INSTANCE_TT(mrb->proc_class, MRB_TT_PROC); - mrb_define_method(mrb, mrb->proc_class, "initialize", mrb_proc_initialize, MRB_ARGS_NONE()); mrb_define_method(mrb, mrb->proc_class, "initialize_copy", mrb_proc_init_copy, MRB_ARGS_REQ(1)); mrb_define_method(mrb, mrb->proc_class, "arity", mrb_proc_arity, MRB_ARGS_NONE()); |
