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

yarv-diff:159

From: ko1 atdot.net
Date: 19 Dec 2005 19:05:55 -0000
Subject: [yarv-diff:159] r318 - in trunk: . yarvtest

Author: ko1
Date: 2005-12-20 04:05:54 +0900 (Tue, 20 Dec 2005)
New Revision: 318

Modified:
   trunk/ChangeLog
   trunk/compile.c
   trunk/test.rb
   trunk/yarvtest/test_bin.rb
Log:
	* compile.c : fix self::Const access

	* yarvtest/test_bin.rb : add a test for above



Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2005-12-19 16:59:26 UTC (rev 317)
+++ trunk/ChangeLog	2005-12-19 19:05:54 UTC (rev 318)
@@ -4,6 +4,13 @@
 #  from Mon, 03 May 2004 01:24:19 +0900
 #
 
+2005-12-20(Tue) 04:04:45 +0900  Koichi Sasada  <ko1 atdot.net>
+
+	* compile.c : fix self::Const access
+
+	* yarvtest/test_bin.rb : add a test for above
+
+
 2005-12-20(Tue) 01:52:52 +0900  Koichi Sasada  <ko1 atdot.net>
 
 	* insns.def : fix to expand VALUES value

Modified: trunk/compile.c
===================================================================
--- trunk/compile.c	2005-12-19 16:59:26 UTC (rev 317)
+++ trunk/compile.c	2005-12-19 19:05:54 UTC (rev 318)
@@ -2123,11 +2123,6 @@
     debugi("compile_colon2 - colon2", node->nd_mid);
     ADD_INSN1(body, nd_line(node), getconstant, ID2SYM(node->nd_mid));
     break;
-  case NODE_SELF:
-    /* optimize for "self::..." */
-    ADD_INSN(body, nd_line(node), pop);
-    ADD_INSN(body, nd_line(node), putself);
-    break;
   default:
     COMPILE(pref, "const colon2 prefix", node);
     break;

Modified: trunk/test.rb
===================================================================
--- trunk/test.rb	2005-12-19 16:59:26 UTC (rev 317)
+++ trunk/test.rb	2005-12-19 19:05:54 UTC (rev 318)
@@ -1,3 +1,7 @@
+
+__END__
+
+
 ary = [1, 2].partition {|n| n == 1 }
 a, b = ary
 p a

Modified: trunk/yarvtest/test_bin.rb
===================================================================
--- trunk/yarvtest/test_bin.rb	2005-12-19 16:59:26 UTC (rev 317)
+++ trunk/yarvtest/test_bin.rb	2005-12-19 19:05:54 UTC (rev 318)
@@ -235,6 +235,24 @@
         }
       end
     }
+    ae %q{
+      class C
+        Const = 0
+        def self.foo()
+          self::Const
+        end
+      end
+      
+      class D < C
+        Const = 1
+      end
+      
+      class E < C
+        Const = 2
+      end
+ 
+      [C.foo, D.foo, E.foo]
+    }
   end
   
   def test_gvar


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

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