;;;----- 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
;;;--------------------------------------------------------------------------
;;; Direct method classes.
-(export 'basic-direct-method)
+(export '(basic-direct-method sod-method-role))
(defclass basic-direct-method (sod-method)
((role :initarg :role :type symbol :reader sod-method-role)
(function-type :type c-function-type :reader sod-method-function-type))
;;;--------------------------------------------------------------------------
;;; Effective method classes.
-(export 'basic-effective-method)
+(export '(basic-effective-method
+ effective-method-around-methods effective-method-before-methods
+ effective-method-after-methods))
(defclass basic-effective-method (effective-method)
((around-methods :initarg :around-methods :initform nil
:type list :reader effective-method-around-methods)
. raw-entry-args))))
(codegen-push codegen)
(ensure-var codegen *sod-ap* (c-type va-list))
- (emit-inst codegen
- (make-va-start-inst *sod-ap*
- (argument-name parm-n)))
(convert-stmts codegen entry-target return-type
(lambda (target)
- (deliver-expr codegen target call)))
- (emit-inst codegen (make-va-end-inst *sod-ap*))
+ (emit-inst codegen
+ (make-va-start-inst
+ *sod-ap*
+ (argument-name parm-n)))
+ (deliver-expr codegen target call)
+ (emit-inst codegen
+ (make-va-end-inst *sod-ap*))))
(codegen-pop-function codegen main main-type))))))
;; Generate the method body. We'll work out what to do with it later.
(defmethod primary-method-class ((message standard-message))
'delegating-direct-method)
-(defmethod message-effective-method-class ((message standard-message))
+(defmethod sod-message-effective-method-class ((message standard-message))
'standard-effective-method)
(defmethod simple-method-body