Package: closer-mop

Generic Function remove-direct-method

Lambda List

remove-direct-method (specializer method)

Arguments

The specializer argument is a specializer metaobject.
The method argument is a method metaobject.

Return Value

The value returned by remove-direct-method is unspecified.

Details

This generic function is called to maintain a set of backpointers from a specializer to the set of methods specialized to it. If method is in the set it is removed. If it is not, no error is signaled.

This set can be accessed as a list by calling the generic function specializer-direct-methods. Methods are added to the set by add-direct-method.

The generic function remove-direct-method is called by remove-method whenever a method is removed from a generic function. It is called once for each of the specializers of the method. Note that in cases where a specializer appears more than once in the specializers of a method, this generic function will be called more than once with the same specializer as argument.

The results are undefined if the specializer argument is not one of the specializers of the method argument.

Methods

remove-direct-method ((specializer class) (method method))
This method implements the behavior of the generic function for class specializers. No behavior is specified for this method beyond that which is specified for the generic function.

This method cannot be overridden unless the following methods are overridden as well:

add-direct-method (class method)
specializer-direct-generic-functions (class)
specializer-direct-methods (class)


remove-direct-method ((specializer eql-specializer) (method method))
This method implements the behavior of the generic function for eql specializers. No behavior is specified for this method beyond that which is specified for the generic function.