Package: closer-mop

Generic Function compute-slots

Lambda List

compute-slots (class)

Arguments

The class argument is a class metaobject.

Return Value

The value returned is a set of effective slot definition metaobjects.

Details

This generic function computes a set of effective slot definition metaobjects for the class class. The result is a list of effective slot definition metaobjects: one for each slot that will be accessible in instances of class.

This generic function proceeds in 3 steps:

The first step collects the full set of direct slot definitions from the superclasses of class.

The direct slot definitions are then collected into individual lists, one list for each slot name associated with any of the direct slot definitions. The slot names are compared with eql. Each such list is then sorted into class precedence list order. Direct slot definitions coming from classes earlier in the class precedence list of class appear before those coming from classes later in the class precedence list. For each slot name, the generic function compute-effective-slot-definition is called to compute an effective slot definition. The result of compute-slots is a list of these effective slot definitions, in unspecified order.

In the final step, the location for each effective slot definition is set. This is done by specified around-methods; portable methods cannot take over this behavior. For more information on the slot definition locations, see the section "Instance Structure Protocol".

The list returned by this generic function will not be mutated by the implementation. The results are undefined if a portable program mutates the list returned by this generic function.

Methods

compute-slots (class standard-class)
This method implements the specified behavior of the generic function.

This method can be overridden.


compute-slots (class funcallable-standard-class)
This method implements the specified behavior of the generic function.

This method can be overridden.


compute-slots (class standard-class)
This method implements the specified behavior of computing and storing slot locations. This method cannot be overridden.


compute-slots (class funcallable-standard-class)
This method implements the specified behavior of computing and storing slot locations. This method cannot be overridden.