mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* compile.c (iseq_compile_each): fix to allow self.x=
if x= is private. * bootstraptest/test_method.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3f025d2078
commit
0c031468fe
3 changed files with 18 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
Sat Aug 18 13:55:58 2007 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* compile.c (iseq_compile_each): fix to allow self.x=
|
||||
if x= is private.
|
||||
|
||||
* bootstraptest/test_method.rb: add a test for above.
|
||||
|
||||
Sat Aug 18 14:05:34 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* parse.y (reg_compile_gen): obtain error info from errinfo.
|
||||
|
|
|
@ -906,3 +906,13 @@ assert_equal %q{[:ok, :ok, :ok, :ok, :ok, :ok, :ng, :ng]}, %q{
|
|||
$ans
|
||||
}
|
||||
|
||||
assert_equal 'ok', %q{
|
||||
class C
|
||||
def x=(n)
|
||||
end
|
||||
def m
|
||||
self.x = :ok
|
||||
end
|
||||
end
|
||||
C.new.m
|
||||
}
|
||||
|
|
|
@ -4359,6 +4359,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
|
|||
argc = setup_args(iseq, args, node->nd_args, &flag);
|
||||
|
||||
if (node->nd_recv == (NODE *) 1) {
|
||||
flag |= VM_CALL_FCALL_BIT;
|
||||
ADD_INSN(recv, nd_line(node), putself);
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue