[前][次][番号順一覧][スレッド一覧]

ruby-changes:10712

From: nobu <ko1@a...>
Date: Fri, 13 Feb 2009 15:34:45 +0900 (JST)
Subject: [ruby-changes:10712] Ruby:r22276 (trunk): * iseq.c (simple_default_value): removed. default values of optional

nobu	2009-02-13 15:34:20 +0900 (Fri, 13 Feb 2009)

  New Revision: 22276

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22276

  Log:
    * iseq.c (simple_default_value): removed.  default values of optional
      parameters are not available still now.  [ruby-dev:37980]

  Modified files:
    trunk/ChangeLog
    trunk/iseq.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 22275)
+++ ChangeLog	(revision 22276)
@@ -1,3 +1,8 @@
+Fri Feb 13 15:34:18 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* iseq.c (simple_default_value): removed.  default values of optional
+	  parameters are not available still now.  [ruby-dev:37980]
+
 Fri Feb 13 15:11:11 2009  Koichi Sasada  <ko1@a...>
 
 	* vm_eval.c (eval_string_with_cref): use rb_vm_get_ruby_level_next_cfp() 
Index: iseq.c
===================================================================
--- iseq.c	(revision 22275)
+++ iseq.c	(revision 22276)
@@ -1284,38 +1284,6 @@
     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 @@
     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);
     }

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]