diff options
Diffstat (limited to 'Lisp')
-rw-r--r-- | Lisp/method-definition.lisp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/Lisp/method-definition.lisp b/Lisp/method-definition.lisp index 9541a49..9824c19 100644 --- a/Lisp/method-definition.lisp +++ b/Lisp/method-definition.lisp @@ -230,20 +230,21 @@ __super__" (find-class 'objective-c-method)))) (defmethod ,real-name argtypes-start ,@type-specifiers argtypes-end - ,@qualifiers ((,class-arg-sym (eql ',class-name)) - ,@lambda-list) - (let ((,captured-args-sym (list ,@arg-names))) - (flet ((super (&rest ,super-args-sym) - (invoke-by-name-super-v - (first ,captured-args-sym) - ,(generic-function-name->method-name - name) - (objcl-class-superclass - (find-objc-class ',class-name)) - (or ,super-args-sym - (rest ,captured-args-sym))))) - (declare (ignorable (function super))) - ,@body))))))))))) + ,@qualifiers + ((,class-arg-sym (eql ',class-name)) + ,@lambda-list) + (let ((,captured-args-sym (list ,@arg-names))) + (flet ((super (&rest ,super-args-sym) + (invoke-by-name-super-v + (first ,captured-args-sym) + ,(generic-function-name->method-name + name) + (objcl-class-superclass + (find-objc-class ',class-name)) + (or ,super-args-sym + (rest ,captured-args-sym))))) + (declare (ignorable (function super))) + ,@body))))))))))) (defun super (&rest args) |