1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* compile.c (iseq_compile_each): alias and undef accept dsyms as well

as literals.  [ruby-dev:32308]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2007-11-18 17:44:09 +00:00
parent 9cef6acdc7
commit 126bd20141
2 changed files with 12 additions and 5 deletions

View file

@ -1,3 +1,8 @@
Mon Nov 19 02:44:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (iseq_compile_each): alias and undef accept dsyms as well
as literals. [ruby-dev:32308]
Mon Nov 19 02:31:36 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval_method.ci (rb_add_method): no redefinition warning for undef.

View file

@ -4067,10 +4067,11 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
}
case NODE_ALIAS:{
VALUE s1, s2;
enum node_type t;
if (nd_type(node->u1.node) != NODE_LIT ||
nd_type(node->u2.node) != NODE_LIT) {
rb_bug("alias args must be NODE_LIT");
if (((t = nd_type(node->u1.node)) != NODE_LIT && t != NODE_DSYM) ||
((t = nd_type(node->u2.node)) != NODE_LIT && t != NODE_DSYM)) {
rb_compile_bug(ERROR_ARGS "alias args must be NODE_LIT or NODE_DSYM");
}
s1 = node->u1.node->nd_lit;
s2 = node->u2.node->nd_lit;
@ -4091,8 +4092,9 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
break;
}
case NODE_UNDEF:{
if (nd_type(node->u2.node) != NODE_LIT) {
rb_bug("undef args must be NODE_LIT");
enum node_type t = nd_type(node->u2.node);
if (t != NODE_LIT && t != NODE_DSYM) {
rb_compile_bug(ERROR_ARGS "undef args must be NODE_LIT");
}
ADD_INSN1(ret, nd_line(node), undef,
ID2SYM(rb_to_id(node->u2.node->nd_lit)));