[elephant-devel] [Fwd: [weblocks] Overriding persistent slot :allocation argument leads to errors]

Leslie P. Polzer sky at viridian-project.de
Thu Feb 18 11:24:15 UTC 2010



----------------------------------- Original Message -----------------------------------
Subject: [weblocks] Overriding persistent slot :allocation argument leads to  errors
From:    "MHOOO" <thomas.karolski at googlemail.com>
Date:    Thu, February 18, 2010 11:53 am
To:      "weblocks" <weblocks at googlegroups.com>
----------------------------------------------------------------------------------------

Is there a reason why class-visible-slots-impl iterates over all
parent classes in order to determine the slots of a proxy class (in
case elephant-bdb is used as a backend) instead of simply using closer-
mop:class-slots to yield the effective slots of a class?

Consider the following (both persistent classes)
(defpclass nameable ()
 ((name "Unknown" :allocation :class)))

(defpclass user (nameable)
 ((name :allocation :instance)))

class-visible-slots-impl would now return two direct-slot-definitions
(once for nameable and once for user).
The user class however only overrides the :allocation argument of the
'name' slot. Effective slots of user is thus only 'name' with
an :allocation of :instance (instead of :class).

However, I cannot use the user class with any quickform - as these try
to generate a proxy using return-proxy-classname, which in turn uses
class-visible-slots-impl. Latter however yields two direct-slot-
definitions which confuses the proxy generation algorithm (which
'name' slot definition to use?).

Is this intended behavior?

-- 
You received this message because you are subscribed to the Google Groups "weblocks" group.
To post to this group, send email to weblocks at googlegroups.com.
To unsubscribe from this group, send email to weblocks+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/weblocks?hl=en.




-- 






More information about the elephant-devel mailing list