Граф коммитов

13 Коммитов

Автор SHA1 Сообщение Дата
matz c6fa37e2f0 * eval_method.ci (rb_alias): no need to skip aliasing when new
equals to old.  [ruby-core:13990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-12 12:27:39 +00:00
nobu 9cef6acdc7 * eval_method.ci (rb_add_method): no redefinition warning for undef.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13963 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 17:31:39 +00:00
nobu c719cd9b46 * eval_method.ci (rb_alias): do not call hook functions until
initialization finishes.  [ruby-talk:279538]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13956 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-18 05:03:46 +00:00
matz 1eee78b876 * eval.c (rb_f_send): allow send/__send__ to call methods of all
visibility again.  we no longer provide __send, __send!.

* eval.c (rb_invoke_method): new method to honor private
  visibility.  if it's invoked in a function call style, it calls
  private methods as well (previous 1.9 send behavior).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-04 20:36:20 +00:00
akr 5c0e68c39c * include/ruby/intern.h: export rb_ivar_foreach.
* include/ruby/ruby.h: modify struct RObject and RClass for optimizing
  T_OBJECT space.  [ruby-dev:31853]
  (ROBJECT_LEN, ROBJECT_PTR)
  (RCLASS_IV_TBL, RCLASS_M_TBL, RCLASS_SUPER, RCLASS_IV_INDEX_TBL)
  (RMODULE_IV_TBL, RMODULE_M_TBL, RMODULE_SUPER): abstract accessor
  defined.

* variable.c: support the modified RObject and RClass.

* object.c: ditto.

* class.c: ditto.

* gc.c: ditto.

* marshal.c: ditto.

* eval_method.ci: use the abstract accessor.

* insns.def: ditto.

* proc.c: ditto.

* struct.c: ditto.

* eval.c: ditto.

* error.c: ditto.

* vm.c: ditto.

* insnhelper.ci: ditto.

* ext/digest/digest.c: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-28 06:21:46 +00:00
nobu 62096ef690 * eval_method.ci (rb_get_alloc_func): cast to suppress a warning.
* eval_method.ci (remove_method): local variable to be initialized.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-26 06:01:43 +00:00
matz a50ef07e16 * eval_method.ci (remove_method): should not remove undef place
holder.  [ruby-dev:31816], [ruby-dev:31817]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-25 12:41:48 +00:00
nobu 0a274820bd * eval_method.ci (rb_attr): should not use alloca for unknowen size
input.  [ruby-dev:31816]

* parse.y (rb_intern_str): prevent str from optimization.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-22 23:58:03 +00:00
nobu bc5d305843 * eval_method.ci (remove_method): check for undefined method.
[ruby-dev:31816]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-22 21:16:21 +00:00
akr 2a37152f3f * eval_method.ci (rb_get_alloc_func): new function to get allocation
function.

* include/ruby/intern.h (rb_alloc_func_t): declared.
  (rb_define_alloc_func): declared.
  (rb_marshal_define_compat): declared.

* range.c: use T_STRUCT for Range.

* inits.c: move Init_marshal() prior to Init_Range() because
  Init_Range calls rb_marshal_define_compat which needs
  marshal's compat_allocator_tbl initialized.

* marshal.c: support marshal format compatibility layer designed for
  marshaling T_STRUCT Range using T_OBJECT format.
  (rb_marshal_define_compat): defined.

[ruby-dev:31710]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-08 15:07:18 +00:00
ko1 b982cff67c * eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),
insnhelper.ci (vm_call_method): fix to save safelevel for
  method node.
* include/ruby/node.h: ditto.
* bootstraptest/test_method.rb: add a test for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-08-17 12:25:47 +00:00
nobu ace2b68ac4 * eval_error.ci, eval_jump.ci, eval_method.ci, eval_safe.ci: c-mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-25 00:45:48 +00:00
ko1 6bd0345627 * eval_*.h: rename to eval_*.ci.
* common.mk: ditto.
* eval_error.ci: remove ruby_set_current_source().
* error.c, eval.c, ruby.c: ditto.
* eval_safe.c, proc.c: remove unused macros.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-24 19:23:24 +00:00