[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Adding new slot-options to defclass?
- To: Shannon V Spires <svspire@somnet.sandia.gov>, info-mcl-digest@cambridge.apple.com
- Subject: Re: Adding new slot-options to defclass?
- From: bill@cambridge.apple.com (Bill St. Clair)
- Date: Mon, 28 Mar 1994 17:04:58 -0600
At 12:56 PM 3/28/94 -0700, Shannon V Spires wrote:
>I need to add a new slot option (like :accessor, :initarg, etc.)
>to certain slots in a defclass. The idea is that I would
>do some "special" processing as the class is being defined
>whenever a new slot option, like :foo, appeared in a slot
>description.
>
>What's the best way to do this? Ideally, one could write a method
>on make-instance, allocate-instance, initialize-instance, etc.,
>but I cannot find any evidence that MCL calls these functions
>when it's creating an instance of a metaclass (that is, doing
>a defclass). Is there any other way, or must I just rewrite
>the defclass macro?
The metaobject protocol specified how to extend DEFCLASS as
you desire. Unfortunately, MCL implements only a small subset of
the introspective MOP. DEFCLASS is hard-wired. You'll have to
rewrite it to get what you want.