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>
|
Sat Aug 18 14:05:34 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* parse.y (reg_compile_gen): obtain error info from errinfo.
|
* 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
|
$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);
|
argc = setup_args(iseq, args, node->nd_args, &flag);
|
||||||
|
|
||||||
if (node->nd_recv == (NODE *) 1) {
|
if (node->nd_recv == (NODE *) 1) {
|
||||||
|
flag |= VM_CALL_FCALL_BIT;
|
||||||
ADD_INSN(recv, nd_line(node), putself);
|
ADD_INSN(recv, nd_line(node), putself);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue