Author: chromatic
Date: Sun Feb 24 15:15:54 2008
New Revision: 26051

Modified:
   trunk/languages/pheme/lib/PhemeObjects.pir

Log:
[Pheme] Avoid double declaration of Pheme classes.

Modified: trunk/languages/pheme/lib/PhemeObjects.pir
==============================================================================
--- trunk/languages/pheme/lib/PhemeObjects.pir  (original)
+++ trunk/languages/pheme/lib/PhemeObjects.pir  Sun Feb 24 15:15:54 2008
@@ -1,11 +1,17 @@
 .namespace [ 'Pheme'; 'Cons' ]
 
 .sub _initialize :anon :load :init
-       .local pmc cons_class
-       newclass cons_class, [ 'Pheme'; 'Cons' ]
+    .local pmc cons_class
+    cons_class = get_class [ 'Pheme'; 'Cons' ]
+    $I0 = defined cons_class
+    unless $I0 goto register
+    .return()
 
-       addattribute cons_class, 'head'
-       addattribute cons_class, 'tail'
+  register:
+    newclass cons_class, [ 'Pheme'; 'Cons' ]
+
+    addattribute cons_class, 'head'
+    addattribute cons_class, 'tail'
 .end
 
 .sub 'get_bool' :vtable

Reply via email to