chiark
/
gitweb
/
~mdw
/
sod
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/class-output.lisp: Insert the correct class pointers.
[sod]
/
src
/
class-make-impl.lisp
diff --git
a/src/class-make-impl.lisp
b/src/class-make-impl.lisp
index 4470416e63306414a98654d929159edea90413ca..09ce441c9e307b87ff783a79353dae5cba918f38 100644
(file)
--- a/
src/class-make-impl.lisp
+++ b/
src/class-make-impl.lisp
@@
-87,8
+87,7
@@
(defmethod make-sod-slot
:location (file-location location)
:pset pset)))
(with-slots (slots) class
:location (file-location location)
:pset pset)))
(with-slots (slots) class
- (setf slots (append slots (list slot))))
- (check-unused-properties pset))))
+ (setf slots (append slots (list slot)))))))
(defmethod shared-initialize :after ((slot sod-slot) slot-names &key pset)
"This method does nothing.
(defmethod shared-initialize :after ((slot sod-slot) slot-names &key pset)
"This method does nothing.
@@
-112,8
+111,7
@@
(defmethod make-sod-instance-initializer
(file-location location))))
(with-slots (instance-initializers) class
(setf instance-initializers
(file-location location))))
(with-slots (instance-initializers) class
(setf instance-initializers
- (append instance-initializers (list initializer))))
- (check-unused-properties pset))))
+ (append instance-initializers (list initializer)))))))
(defmethod make-sod-class-initializer
((class sod-class) nick name value-kind value-form pset
(defmethod make-sod-class-initializer
((class sod-class) nick name value-kind value-form pset
@@
-126,8
+124,7
@@
(defmethod make-sod-class-initializer
(file-location location))))
(with-slots (class-initializers) class
(setf class-initializers
(file-location location))))
(with-slots (class-initializers) class
(setf class-initializers
- (append class-initializers (list initializer))))
- (check-unused-properties pset))))
+ (append class-initializers (list initializer)))))))
(defmethod make-sod-initializer-using-slot
((class sod-class) (slot sod-slot)
(defmethod make-sod-initializer-using-slot
((class sod-class) (slot sod-slot)
@@
-163,8
+160,7
@@
(defmethod make-sod-message
:location (file-location location)
:pset pset)))
(with-slots (messages) class
:location (file-location location)
:pset pset)))
(with-slots (messages) class
- (setf messages (append messages (list message))))
- (check-unused-properties pset))))
+ (setf messages (append messages (list message)))))))
(defmethod shared-initialize :after
((message sod-message) slot-names &key pset)
(defmethod shared-initialize :after
((message sod-message) slot-names &key pset)
@@
-189,8
+185,7
@@
(defmethod make-sod-method
type body pset
(file-location location))))
(with-slots (methods) class
type body pset
(file-location location))))
(with-slots (methods) class
- (setf methods (append methods (list method)))))
- (check-unused-properties pset)))
+ (setf methods (append methods (list method)))))))
(defmethod make-sod-method-using-message
((message sod-message) (class sod-class) type body pset location)
(defmethod make-sod-method-using-message
((message sod-message) (class sod-class) type body pset location)
@@
-215,7
+210,10
@@
(defmethod shared-initialize :after
;; Check that the arguments are named if we have a method body.
(with-slots (body type) method
(unless (or (not body)
;; Check that the arguments are named if we have a method body.
(with-slots (body type) method
(unless (or (not body)
- (every #'argument-name (c-function-arguments type)))
+ (every (lambda (arg)
+ (or (argument-name arg)
+ (eq (argument-type arg) (c-type void))))
+ (c-function-arguments type)))
(error "Abstract declarators not permitted in method definitions")))
;; Check the method type.
(error "Abstract declarators not permitted in method definitions")))
;; Check the method type.