(override-next-handler <выражение>*)
Ниже приведены примеры использования функций call-next-handler и override-next-handler (см. также рис. 15.32).
Рис. 15.32. Использование функций call-next-handler и override-next-handler
Пример 15.35. Использование функций call-next-handler и override-next-handler
(clear)
(defclass A (is-a USER) (role concrete))
(defmessage-handler A print-args ($?any)
(printout t "A: "?any crlf)
(if (next-handlerp) then
(call-next-handler)))
(defmessage-handler USER print-args ($?any)
(printout t "USER: "?any crlf))
(make-instance a of A)
(send [a] print-args 1234)
(defmessage-handler A print-args ($?any)
(printout t "A: "?any crlf)
(if (next-handlerp) then
(override-next-handier (rest$?any))))
(send [a] print-args 1234)
Для получения всех конструкторов definstances, определенных в заданном модуле, предназначена функция get-definstances-list. Функция def instances-module служит для определения модуля, в котором используется заданный конструктор definstances. Синтаксис этих функций приведен ниже.