Changeset 5235
 Timestamp:
 12/20/03 19:06:48 (17 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/j/src/org/armedbear/lisp/clos.lisp
r5233 r5235 2 2 ;;; 3 3 ;;; Copyright (C) 2003 Peter Graves 4 ;;; $Id: clos.lisp,v 1.5 3 20031220 18:29:32piso Exp $4 ;;; $Id: clos.lisp,v 1.54 20031220 19:06:48 piso Exp $ 5 5 ;;; 6 6 ;;; This program is free software; you can redistribute it and/or … … 1173 1173 gf args classes)))) 1174 1174 1175 (defun computeapplicablemethodsusingclasses (gf requiredclasses)1176 (sort1177 (copylist1178 (removeifnot #'(lambda (method)1179 (every #'subclassp1180 requiredclasses1181 (methodspecializers method)))1182 (genericfunctionmethods gf)))1183 (if (eq (classof gf) theclassstandardgf)1184 #'(lambda (m1 m2)1185 (stdmethodmorespecificp m1 m2 requiredclasses))1186 #'(lambda (m1 m2)1187 (methodmorespecificp gf m1 m2 requiredclasses)))))1188 1189 1175 (defun subspecializerp (c1 c2 carg) 1190 1176 (find c2 (cdr (memq c1 (classprecedencelist carg))))) … … 1199 1185 requiredclasses) 1200 1186 nil) 1187 1188 (defun computeapplicablemethodsusingclasses (gf requiredclasses) 1189 (let ((methods ())) 1190 (dolist (method (genericfunctionmethods gf)) 1191 (when (every #'subclassp requiredclasses (methodspecializers method)) 1192 (push method methods))) 1193 (sort methods 1194 (if (eq (classof gf) theclassstandardgf) 1195 #'(lambda (m1 m2) 1196 (stdmethodmorespecificp m1 m2 requiredclasses)) 1197 #'(lambda (m1 m2) 1198 (methodmorespecificp gf m1 m2 requiredclasses)))))) 1201 1199 1202 1200 (defun primarymethodp (method)
Note: See TracChangeset
for help on using the changeset viewer.