chiark
/
gitweb
/
~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/pset-parse.lisp: Export the `parse-property' function.
[sod]
/
src
/
class-utilities.lisp
diff --git
a/src/class-utilities.lisp
b/src/class-utilities.lisp
index aa4ef175a979b271d9774267b0babf2d60114a6b..573c6779b65500356df891a2947102b562812137 100644
(file)
--- a/
src/class-utilities.lisp
+++ b/
src/class-utilities.lisp
@@
-7,7
+7,7
@@
;;;----- Licensing notice ---------------------------------------------------
;;;
;;;----- Licensing notice ---------------------------------------------------
;;;
-;;; This file is part of the Sensble Object Design, an object system for C.
+;;; This file is part of the Sens
i
ble 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
;;;
;;; SOD is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
@@
-160,7
+160,8
@@
(defun argument-lists-compatible-p (message-args method-args)
(and (= (length message-args) (length method-args))
(every (lambda (message-arg method-arg)
(if (eq message-arg :ellipsis)
(and (= (length message-args) (length method-args))
(every (lambda (message-arg method-arg)
(if (eq message-arg :ellipsis)
- (eq method-arg (c-type va-list))
+ (c-type-equal-p (argument-type method-arg)
+ c-type-va-list)
(c-type-equal-p (argument-type message-arg)
(argument-type method-arg))))
message-args method-args)))
(c-type-equal-p (argument-type message-arg)
(argument-type method-arg))))
message-args method-args)))
@@
-188,6
+189,10
@@
(export 'vtmsgs-struct-tag)
(defun vtmsgs-struct-tag (class super)
(format nil "~A__vtmsgs_~A" class (sod-class-nickname super)))
(defun vtmsgs-struct-tag (class super)
(format nil "~A__vtmsgs_~A" class (sod-class-nickname super)))
+(export 'vtable-union-tag)
+(defun vtable-union-tag (class chain-head)
+ (format nil "~A__vtu_~A" class (sod-class-nickname chain-head)))
+
(export 'vtable-struct-tag)
(defun vtable-struct-tag (class chain-head)
(format nil "~A__vt_~A" class (sod-class-nickname chain-head)))
(export 'vtable-struct-tag)
(defun vtable-struct-tag (class chain-head)
(format nil "~A__vt_~A" class (sod-class-nickname chain-head)))
@@
-197,7
+202,7
@@
(defun vtable-name (class chain-head)
(format nil "~A__vtable_~A" class (sod-class-nickname chain-head)))
(export 'message-macro-name)
(format nil "~A__vtable_~A" class (sod-class-nickname chain-head)))
(export 'message-macro-name)
-(defun message-macro-name (class
message
)
- (format nil "~A_~A" class (
sod-message-name message
)))
+(defun message-macro-name (class
entry
)
+ (format nil "~A_~A" class (
method-entry-slot-name entry
)))
;;;----- That's all, folks --------------------------------------------------
;;;----- That's all, folks --------------------------------------------------