Skip to content
Snippets Groups Projects
Forked from asdf / asdf
Source project has a limited visibility.
user avatar
Robert P. Goldman authored
The behavior of OPERATION has changed: previously it would act roughly like
LOAD-OP, and automatically have dependencies, but now that behavior has been
removed in a clean-up. In order to support programmers, we attempt to detect
programmer-defined OPERATION subclasses and signal an error if we believe they
are unpatched.

The new dependency-handling is implemented in the classes DOWNWARD-OPERATION,
UPWARD-OPERATION, SIDEWAY-OPERATION, SELFWARD-OPERATION, and the newly-added
NON-PROPAGATING-OPERATION.

To detect unpatched OPERATION classes, when we are instantiating an OPERATION,
we check to make sure it has one of the above classes as a superclass.  If it
does not, we raise a continuable error.  This is done in an INITIALIZE-INSTANCE
:BEFORE method on OPERATION. We considered trying to detect the definition of
OPERATION subclasses, but because the MOP is not standard, that approach was
rejected as infeasible.

Add NON-PROPAGATING-OPERATION as superclass where needed.

Further checks and some documentation.

Thanks to Fare for advice.

Check that no OPERATION is both propagating and non-propagating.

Thanks to Fare for the suggestion.
8fa22cd5
History
Name Last commit Last update