[前][次][番号順一覧][スレッド一覧][生データ]

yarv-diff:366

From: ko1 atdot.net
Date: 17 Aug 2006 14:44:16 +0900
Subject: [yarv-diff:366] r533 - trunk

Author: ko1
Date: 2006-08-17 14:44:15 +0900 (Thu, 17 Aug 2006)
New Revision: 533

Modified:
   trunk/
   trunk/ChangeLog
   trunk/class.c
Log:
 r830@lermite:  ko1 | 2006-08-17 11:03:08 +0900
 	* class.c (clone_method) : check undef-ed method
 



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 81cd9672-7512-7e48-ae48-6936450e977d:/local/yarv/trunk:825
   + 81cd9672-7512-7e48-ae48-6936450e977d:/local/yarv/trunk:830

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2006-08-15 06:09:17 UTC (rev 532)
+++ trunk/ChangeLog	2006-08-17 05:44:15 UTC (rev 533)
@@ -4,6 +4,11 @@
 #  from Mon, 03 May 2004 01:24:19 +0900
 #
 
+2006-08-17(Thu) 11:02:16 +0900  Koichi Sasada  <ko1 atdot.net>
+
+	* class.c (clone_method) : check undef-ed method
+
+
 2006-08-15(Tue) 15:07:43 +0900  Koichi Sasada  <ko1 atdot.net>
 
 	* insns.def : fix opt_plus routine ([yarv-dev-en:149])

Modified: trunk/class.c
===================================================================
--- trunk/class.c	2006-08-15 06:09:17 UTC (rev 532)
+++ trunk/class.c	2006-08-17 05:44:15 UTC (rev 533)
@@ -64,11 +64,18 @@
 static int
 clone_method(ID mid, NODE *body, struct clone_method_data *data)
 {
-    st_insert(data->tbl, mid,
-	      (st_data_t)NEW_FBODY(
-		  NEW_METHOD(body->nd_body->nd_body,
-			     data->klass, /* TODO */
-			     body->nd_body->nd_noex), 0));
+    if (body == 0) {
+	st_insert(data->tbl, mid, 0);
+    }
+    else {
+	st_insert(data->tbl, mid,
+		  (st_data_t)
+		  NEW_FBODY(
+		      NEW_METHOD(body->nd_body->nd_body,
+				 data->klass, /* TODO */
+				 body->nd_body->nd_noex),
+		      0));
+    }
     return ST_CONTINUE;
 }
 


--
ML: yarv-diff quickml.atdot.net
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]