[armedbear-cvs] r12479 - branches/metaclass/abcl/src/org/armedbear/lisp

Erik Huelsmann ehuelsmann at common-lisp.net
Sun Feb 14 19:54:17 UTC 2010


Author: ehuelsmann
Date: Sun Feb 14 14:54:17 2010
New Revision: 12479

Log:
Slot storage for DIRECT-SLOTS and SLOTS of STANDARD-CLASS.

Modified:
   branches/metaclass/abcl/src/org/armedbear/lisp/SlotClass.java
   branches/metaclass/abcl/src/org/armedbear/lisp/StandardClass.java

Modified: branches/metaclass/abcl/src/org/armedbear/lisp/SlotClass.java
==============================================================================
--- branches/metaclass/abcl/src/org/armedbear/lisp/SlotClass.java	(original)
+++ branches/metaclass/abcl/src/org/armedbear/lisp/SlotClass.java	Sun Feb 14 14:54:17 2010
@@ -90,7 +90,7 @@
         this.directSlotDefinitions = directSlotDefinitions;
     }
 
-    public final LispObject getSlotDefinitions()
+    public LispObject getSlotDefinitions()
     {
         return slotDefinitions;
     }

Modified: branches/metaclass/abcl/src/org/armedbear/lisp/StandardClass.java
==============================================================================
--- branches/metaclass/abcl/src/org/armedbear/lisp/StandardClass.java	(original)
+++ branches/metaclass/abcl/src/org/armedbear/lisp/StandardClass.java	Sun Feb 14 14:54:17 2010
@@ -50,6 +50,10 @@
     = PACKAGE_MOP.intern("DIRECT-METHODS");
   private static Symbol symDocumentation
     = PACKAGE_MOP.intern("DOCUMENTATION");
+  private static Symbol symDirectSlots
+    = PACKAGE_MOP.intern("DIRECT-SLOTS");
+  private static Symbol symSlots
+    = PACKAGE_MOP.intern("SLOTS");
 
   static Layout layoutStandardClass =
       new Layout(null,
@@ -60,8 +64,8 @@
                       symClassPrecedenceList,
                       symDirectMethods,
                       symDocumentation,
-                      PACKAGE_MOP.intern("DIRECT-SLOTS"),
-                      PACKAGE_MOP.intern("SLOTS"),
+                      symDirectSlots,
+                      symSlots,
                       PACKAGE_MOP.intern("DIRECT-DEFAULT-INITARGS"),
                       PACKAGE_MOP.intern("DEFAULT-INITARGS")),
                  NIL)
@@ -81,6 +85,8 @@
       setCPL(NIL);
       setDirectMethods(NIL);
       setDocumentation(NIL);
+      setDirectSlotDefinitions(NIL);
+      setSlotDefinitions(NIL);
   }
 
   public StandardClass(Symbol symbol, LispObject directSuperclasses)
@@ -91,6 +97,8 @@
       setCPL(NIL);
       setDirectMethods(NIL);
       setDocumentation(NIL);
+      setDirectSlotDefinitions(NIL);
+      setSlotDefinitions(NIL);
   }
 
   @Override
@@ -188,6 +196,30 @@
     setInstanceSlotValue(symDocumentation, doc);
   }
 
+  @Override
+  public LispObject getDirectSlotDefinitions()
+  {
+    return getInstanceSlotValue(symDirectSlots);
+  }
+
+  @Override
+  public void setDirectSlotDefinitions(LispObject directSlotDefinitions)
+  {
+    setInstanceSlotValue(symDirectSlots, directSlotDefinitions);
+  }
+
+  @Override
+  public LispObject getSlotDefinitions()
+  {
+    return getInstanceSlotValue(symSlots);
+  }
+
+  @Override
+  public void setSlotDefinitions(LispObject slotDefinitions)
+  {
+     setInstanceSlotValue(symSlots, slotDefinitions);
+  }
+
 
 
   @Override




More information about the armedbear-cvs mailing list