summaryrefslogtreecommitdiff
path: root/Lisp/method-definition.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp/method-definition.lisp')
-rw-r--r--Lisp/method-definition.lisp12
1 files changed, 12 insertions, 0 deletions
diff --git a/Lisp/method-definition.lisp b/Lisp/method-definition.lisp
index 7e71f31..d97c2a8 100644
--- a/Lisp/method-definition.lisp
+++ b/Lisp/method-definition.lisp
@@ -75,6 +75,18 @@
,@body)))))))
+(defmacro define-objective-c-generic-function (name lambda-list &body options)
+ `(defgeneric ,name ,lambda-list
+ ,@(unless (position :generic-function-class
+ options
+ :key #'car)
+ `((:generic-function-class objcl:objective-c-generic-function)))
+ ,@(unless (position :method-class
+ options
+ :key #'car)
+ `((:method-class objcl:objective-c-method)))))
+
+
(defvar *callback-names* (make-hash-table :test #'eql))
(defun intern-callback-name (method)