mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* compile.c (rb_iseq_compile): formatted if/else to switch statement.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e86a6e2514
commit
d4662d49d9
2 changed files with 24 additions and 16 deletions
|
@ -1,3 +1,7 @@
|
|||
Tue Jul 10 16:52:01 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* compile.c (rb_iseq_compile): formatted if/else to switch statement.
|
||||
|
||||
Tue Jul 10 15:57:53 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* bootstraptest/test_flip.rb: new test for flip-flop operator.
|
||||
|
|
36
compile.c
36
compile.c
|
@ -151,7 +151,8 @@ rb_iseq_compile(VALUE self, NODE *node)
|
|||
set_local_table(iseq, node->nd_tbl);
|
||||
set_arguments(iseq, ret, node->nd_args);
|
||||
|
||||
if (iseq->type == ISEQ_TYPE_BLOCK) {
|
||||
switch (iseq->type) {
|
||||
case ISEQ_TYPE_BLOCK: {
|
||||
LABEL *start = iseq->compile_data->start_label = NEW_LABEL(0);
|
||||
LABEL *end = iseq->compile_data->end_label = NEW_LABEL(0);
|
||||
|
||||
|
@ -162,21 +163,24 @@ rb_iseq_compile(VALUE self, NODE *node)
|
|||
/* wide range catch handler must put at last */
|
||||
ADD_CATCH_ENTRY(CATCH_TYPE_REDO, start, end, 0, start);
|
||||
ADD_CATCH_ENTRY(CATCH_TYPE_NEXT, start, end, 0, end);
|
||||
}
|
||||
else {
|
||||
if (iseq->type == ISEQ_TYPE_CLASS) {
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_CLASS);
|
||||
COMPILE(ret, "scoped node", node->nd_body);
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_END);
|
||||
}
|
||||
else if (iseq->type == ISEQ_TYPE_METHOD) {
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_CALL);
|
||||
COMPILE(ret, "scoped node", node->nd_body);
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_RETURN);
|
||||
}
|
||||
else {
|
||||
COMPILE(ret, "scoped node", node->nd_body);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ISEQ_TYPE_CLASS: {
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_CLASS);
|
||||
COMPILE(ret, "scoped node", node->nd_body);
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_END);
|
||||
break;
|
||||
}
|
||||
case ISEQ_TYPE_METHOD: {
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_CALL);
|
||||
COMPILE(ret, "scoped node", node->nd_body);
|
||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_RETURN);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
COMPILE(ret, "scoped node", node->nd_body);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in a new issue