summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-13 06:34:20 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-13 06:34:20 +0000
commita14bd973ed6d94db6899948a412d15f5a5a2437d (patch)
tree555ab95c674775e24d6c2d69f37632339fa134c4 /iseq.c
parent0cb68b619ef80f8edb050ac4aa21306815b2a501 (diff)
* iseq.c (simple_default_value): removed. default values of optional
parameters are not available still now. [ruby-dev:37980] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22276 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c35
1 files changed, 0 insertions, 35 deletions
diff --git a/iseq.c b/iseq.c
index de0bae7234..922d685378 100644
--- a/iseq.c
+++ b/iseq.c
@@ -1284,38 +1284,6 @@ rb_iseq_clone(VALUE iseqval, VALUE newcbase)
return newiseq;
}
-static VALUE
-simple_default_value(const VALUE *seq, const VALUE *eseq)
-{
- VALUE val;
-
- again:
- switch (*seq++) {
- case BIN(trace):
- if (++seq >= eseq) return Qundef;
- goto again;
- case BIN(putnil):
- val = Qnil;
- goto got;
- case BIN(putstring):
- val = rb_str_new3(*seq++);
- goto got;
- case BIN(putobject):
- val = *seq++;
- got:
- switch (*seq++) {
- case BIN(setlocal):
- if ((seq+=1) == eseq) return val;
- break;
- case BIN(setdynamic):
- if ((seq+=2) == eseq) return val;
- break;
- }
- default:
- return Qundef;
- }
-}
-
VALUE
rb_iseq_parameters(const rb_iseq_t *iseq, int is_proc)
{
@@ -1352,10 +1320,7 @@ rb_iseq_parameters(const rb_iseq_t *iseq, int is_proc)
for (s = i; i < r; i++) {
PARAM_TYPE(opt);
if (rb_id2name(PARAM_ID(i))) {
- VALUE defval = simple_default_value(iseq->iseq + iseq->arg_opt_table[i-s],
- iseq->iseq + iseq->arg_opt_table[i-s+1]);
rb_ary_push(a, ID2SYM(PARAM_ID(i)));
- if (defval != Qundef) rb_ary_push(a, defval);
}
rb_ary_push(args, a);
}