summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp')
-rw-r--r--Lisp/libobjcl.lisp1
-rw-r--r--Lisp/method-invocation.lisp6
2 files changed, 6 insertions, 1 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index aacedab..0858cb9 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -39,6 +39,7 @@
(defcfun ("objcl_invoke_with_types" %objcl-invoke-with-types) :pointer
(argc :int)
+ (superclass-for-send-super :pointer)
(return_typespec :string)
(arg_typespecs (:array :string))
(return_value (:pointer :void))
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index 2389a9f..c90b37d 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -216,6 +216,7 @@ easier to use with __apply__.
argc (+ 2 (length args)))
(low-level-invoke receiver
selector
+ (null-pointer)
method-return-typestring
method-return-type
method-arg-typestrings
@@ -264,6 +265,7 @@ easier to use with __apply__.
(mapcar #'ad-hoc-value->typespec args))))
(low-level-invoke receiver
(selector method-name)
+ (null-pointer)
(print-typespec-to-string return-typespec)
return-typespec
(mapcar #'print-typespec-to-string arg-typespecs)
@@ -317,7 +319,8 @@ easier to use with __apply__.
(otherwise (typespec-primary-type typespec))))
-(defun low-level-invoke (receiver selector return-typestring return-type
+(defun low-level-invoke (receiver selector superclass-pointer-for-send-super
+ return-typestring return-type
arg-typestrings arg-types argc args)
(let ((return-c-type (typespec->c-type return-type))
(arg-c-types (mapcar #'typespec->c-type arg-types)))
@@ -422,6 +425,7 @@ easier to use with __apply__.
(otherwise arg)))))))
(let* ((error-cell
(%objcl-invoke-with-types (- argc 2)
+ superclass-pointer-for-send-super
return-typestring
objc-arg-typestrings
objc-return-value-cell