develooper Front page | perl.cvs.parrot | Postings from January 2009

[svn:parrot] r35181 - branches/rvar2/languages/perl6/src/builtins

From:
jonathan
Date:
January 7, 2009 14:55
Subject:
[svn:parrot] r35181 - branches/rvar2/languages/perl6/src/builtins
Message ID:
20090107225536.B72B9CB9F9@x12.develooper.com
Author: jonathan
Date: Wed Jan  7 14:55:35 2009
New Revision: 35181

Modified:
   branches/rvar2/languages/perl6/src/builtins/guts.pir

Log:
[rakudo] Since we lie about naming of classes, we need to look up the class we're extending via its proto-object in !meta_create when we have is also. This gets us through initialization and we now pass most of S12-class/open.t - until the last test, where our lies catch up with us and we go and stick methods in the wrong namespace. Would need to look at trunk to see how on earth this was resolved there...

Modified: branches/rvar2/languages/perl6/src/builtins/guts.pir
==============================================================================
--- branches/rvar2/languages/perl6/src/builtins/guts.pir	(original)
+++ branches/rvar2/languages/perl6/src/builtins/guts.pir	Wed Jan  7 14:55:35 2009
@@ -391,13 +391,16 @@
 
   class:
     .local pmc metaclass, ns
-    ns = get_hll_namespace nsarray
     if also goto is_also
+    ns = get_hll_namespace nsarray
     metaclass = newclass ns
     .return (metaclass)
   is_also:
-    metaclass = get_class ns
-    .return (metaclass)
+    .local pmc proto, p6meta
+    $S0 = shift nsarray
+    proto = get_hll_global nsarray, $S0
+    p6meta = get_hll_global ['Perl6Object'], '$!P6META'
+    .tailcall p6meta.'get_parrotclass'(proto)
 
   role:
     .local pmc info, metarole



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About