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

ruby-changes:3960

From: ko1@a...
Date: Wed, 13 Feb 2008 01:27:40 +0900 (JST)
Subject: [ruby-changes:3960] nobu - Ruby:r15450 (trunk): * parse.y (stmt, arg): concat opt_call_args only if non-null.

nobu	2008-02-13 01:27:22 +0900 (Wed, 13 Feb 2008)

  New Revision: 15450

  Modified files:
    trunk/ChangeLog
    trunk/parse.y

  Log:
    * parse.y (stmt, arg): concat opt_call_args only if non-null.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/parse.y?r1=15450&r2=15449&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15450&r2=15449&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 15449)
+++ ChangeLog	(revision 15450)
@@ -1,5 +1,7 @@
-Wed Feb 13 01:26:45 2008  Nobuyoshi Nakada  <nobu@r...>
+Wed Feb 13 01:27:20 2008  Nobuyoshi Nakada  <nobu@r...>
 
+	* parse.y (stmt, arg): concat opt_call_args only if non-null.
+
 	* parse.y (arg_concat_gen, arg_append_gen): optimize for array concat.
 
 	* parse.y (arg_add_gen): removed since identical to arg_append_gen.
Index: parse.y
===================================================================
--- parse.y	(revision 15449)
+++ parse.y	(revision 15450)
@@ -1027,11 +1027,10 @@
 		| primary_value '[' opt_call_args rbracket tOP_ASGN command_call
 		    {
 		    /*%%%*/
-			NODE *args;
+			NODE *args = $6;
 
-			value_expr($6);
-			if (!$3) $3 = NEW_ZARRAY();
-			args = arg_concat($6, $3);
+			value_expr(args);
+			if ($3) args = arg_concat(args, $3);
 			if ($5 == tOROP) {
 			    $5 = 0;
 			}
@@ -1829,11 +1828,10 @@
 		| primary_value '[' opt_call_args rbracket tOP_ASGN arg
 		    {
 		    /*%%%*/
-			NODE *args;
+			NODE *args = $6;
 
-			value_expr($6);
-			if (!$3) $3 = NEW_ZARRAY();
-			args = arg_concat($6, $3);
+			value_expr(args);
+			if ($3) args = arg_concat(args, $3);
 			if ($5 == tOROP) {
 			    $5 = 0;
 			}

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

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