diff options
author | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-14 22:44:08 +0100 |
---|---|---|
committer | Matthias Benkard <code@mail.matthias.benkard.de> | 2008-02-14 22:44:08 +0100 |
commit | e8267bcebfa0212ec3f455aeaf75a342408afb14 (patch) | |
tree | bd55aac92b2a41949acf1a0eab3202a0de0f938b /Lisp/method-invocation.lisp | |
parent | 8c5f730bddb827eaca240ed97bf396250caee30c (diff) |
Lay the groundwork for super calls.
darcs-hash:6b92675f9ae403584bc82cd69df0404f1fde70bb
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r-- | Lisp/method-invocation.lisp | 6 |
1 files changed, 5 insertions, 1 deletions
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 |