X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/51af043f73c683c0609d4285a1bfee7d07e08b7a..deef49564bd7cd4b9d046569fdc367457f8893a0:/src/method-proto.lisp diff --git a/src/method-proto.lisp b/src/method-proto.lisp index 5687802..d2ab761 100644 --- a/src/method-proto.lisp +++ b/src/method-proto.lisp @@ -135,7 +135,8 @@ The list needn't be in any particular order.")) (export '(method-entry method-entry-effective-method - method-entry-chain-head method-entry-chain-tail)) + method-entry-chain-head method-entry-chain-tail + method-entry-role)) (defclass method-entry () ((%method :initarg :method :type effective-method :reader method-entry-effective-method) @@ -263,6 +264,7 @@ The default method indirects through `method-entry-slot-name-by-role'.")) +(export 'method-entry-slot-name-by-role) (defgeneric method-entry-slot-name-by-role (entry role name) (:documentation "Easier implementation for `method-entry-slot-name'.") (:method ((entry method-entry) (role (eql nil)) name) name) @@ -336,13 +338,10 @@ ;;; Additional instructions. -;; HACK: use gensyms for the `class' and `expr' slots to avoid leaking the -;; slot names, because `expr' is exported by our package, and `class' is -;; actually from the `common-lisp' package. (definst convert-to-ilayout (stream :export t) - (#1=#:class chain-head #2=#:expr) + (%class chain-head %expr) (format stream "SOD_ILAYOUT(~@<~A, ~_~A, ~_~A~:>)" - #1# (sod-class-nickname chain-head) #2#)) + class (sod-class-nickname chain-head) expr)) ;;; Utilities.