X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/11e41ddf86b4ee793f44fc0e39cb4c1869335b14..d84f7ee7c5b3a6434e59428452ee506eb02e275e:/src/method-aggregate.lisp diff --git a/src/method-aggregate.lisp b/src/method-aggregate.lisp index e9a889d..caaa7ea 100644 --- a/src/method-aggregate.lisp +++ b/src/method-aggregate.lisp @@ -7,7 +7,7 @@ ;;;----- Licensing notice --------------------------------------------------- ;;; -;;; This file is part of the Sensble Object Design, an object system for C. +;;; This file is part of the Sensible Object Design, an object system for C. ;;; ;;; SOD is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by @@ -28,11 +28,12 @@ ;;;-------------------------------------------------------------------------- ;;; Classes and protocol. -(export '(aggregating-message message-combination)) +(export '(aggregating-message + sod-message-combination sod-message-kernel-function)) (defclass aggregating-message (simple-message) ((combination :initarg :combination :type keyword - :reader message-combination) - (kernel-function :type function :reader message-kernel-function)) + :reader sod-message-combination) + (kernel-function :type function :reader sod-message-kernel-function)) (:documentation "Message class for aggregating method combinations. @@ -105,14 +106,14 @@ (with-slots (combination) message (check-aggregating-message-type message combination type))) -(defmethod message-effective-method-class ((message aggregating-message)) +(defmethod sod-message-effective-method-class ((message aggregating-message)) 'aggregating-effective-method) (defmethod simple-method-body ((method aggregating-effective-method) codegen target) (let ((argument-names (effective-method-basic-argument-names method)) (primary-methods (effective-method-primary-methods method))) - (funcall (message-kernel-function (effective-method-message method)) + (funcall (sod-message-kernel-function (effective-method-message method)) codegen target argument-names primary-methods))) (defmethod shared-initialize :before @@ -420,7 +421,7 @@ (ensure-var codegen retvar type) (ensure-var codegen valvar type)) (when count - (ensure-var codegen count c-type-int (length methods))) + (ensure-var codegen count c-type-size-t (length methods))) (when decls (emit-decl codegen decls)) (labels ((maybe-emit (fragment)