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

16 Коммитов

Автор SHA1 Сообщение Дата
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
aamine e9ee00eead * yarvtest/test_method.rb: removed (merged to bootstraptest).
* yarvtest/test_class.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 09:56:02 +00:00
aamine bd3ee06295 * test/ruby/test_yield.rb: new test.
* yarvtest/test_yield.rb: removed (moved to test_yield.rb).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 09:38:08 +00:00
aamine bcd3345136 * test/ruby/test_optimization.rb: new test (merges test_opts.rb).
* yarvtest/test_opts.rb: removed.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 09:13:49 +00:00
aamine f52fd2165b * test/ruby/test_assignment.rb: merge yarvtest/test_massign.
* yarvtest/test_massign.rb: removed (merged to test_assignment.rb).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 07:59:54 +00:00
aamine f35a641adb * test/ruby/test_primitive.rb: new test.
* yarvtest/test_bin.rb: removed (altered by test/ruby/test_{literal,primitive}.rb).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-23 06:41:25 +00:00
shyouhei fd81221a8e set svn:eol-style
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-12 23:01:19 +00:00
ko1 eb6153b37d * yarvtest/yarvtest.rb: check target command names.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-08 13:38:21 +00:00
ko1 c27ef66dd7 * compile.c (iseq_compile_each): fix setting is_local flag.
* yarvtest/test_class.rb: add a test for class local isntance variable.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-06 06:50:40 +00:00
ko1 42ce75cdff * compile.c, insns.def: remove (get|set)instancevariable2 and add a
operand is_local to (get|set)instancevariable.
* yarvtest/test_class.rb: add a test for class local instance variable.
* parse.y (rb_decompose_ivar2): remove unused variable oid.
* tool/insns2vm.rb: remove needless require.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-06 05:22:17 +00:00
ko1 a4a8101965 * proc.c: support Binding#eval.
* yarvtest/test_eval.rb: add a test for above change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-05 18:50:35 +00:00
ko1 ad4213d6fe * insns.def (send) : fix to optimize send() with Symbol.
* yarvtest/test_method.rb : add another test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-06 04:48:11 +00:00
ko1 ce55b4c0e0 * insns.def : support direct method dispatch with "send" or "funcall".
This means that "obj.send :m" skips "BasicObject#send" invocation
(method frame creation, etc) and "obj.m" invokes directly.
If you make backtrace, there are no enties of "send" method.
* compile.c (iseq_specialized_instruction) : fix to support above
* eval.c : ditto (remove "static" from rb_f_send and rb_f_funcall
* yarvcore.c : ditto (add a external IDs for compiler)
* yarvcore.h : ditto (add a VM_CALL_SEND_BIT macro)
* yarvtest/test_method.rb : add tests for above changes
* eval.c : remove unused "Kernel#send" declaration



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-06 00:24:59 +00:00
ko1 c5a0c3be2e * yarvtest/yarvtest.rb : fix to compare results
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-05 12:04:15 +00:00
ko1 3e5b3dac1f * common.mk : rename yarv-test-[all/each] to compare-test[/-each].
purpose of "compare-test" rule is to compare ruby (trunk) and
matzruby (branches/matzruby) binary in miniruby level.  MATZRUBY
parameter means an path to miniruby of matzruby binary.  to do this
comparison test, you should build matzruby branch.
* yarvtest/yarvtest.rb : fix to use command line option as
command names to be compared.
* yarvtest/runner.rb : remove a debug output.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-01-04 11:30:37 +00:00
ko1 a3e1b1ce7e * Merge YARV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2006-12-31 15:02:22 +00:00