Changeset 13782 for trunk/abcl/src/org/armedbear/lisp/clos.lisp
- Timestamp:
- 01/15/12 21:55:45 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/clos.lisp
r13781 r13782 1269 1269 ;; generic-function-name 1270 1270 1271 ;;; These are defined with % in package SYS, defined as functions here 1272 ;;; and redefined as generic functions once we're all set up. 1273 1271 1274 (defun generic-function-lambda-list (gf) 1272 1275 (%generic-function-lambda-list gf)) … … 1279 1282 (set-generic-function-initial-methods gf new-value)) 1280 1283 1284 (defun generic-function-methods (gf) 1285 (sys:%generic-function-methods gf)) 1281 1286 (defun (setf generic-function-methods) (new-value gf) 1282 1287 (set-generic-function-methods gf new-value)) 1283 1288 1289 (defun generic-function-method-class (gf) 1290 (sys:%generic-function-method-class gf)) 1284 1291 (defun (setf generic-function-method-class) (new-value gf) 1285 1292 (set-generic-function-method-class gf new-value)) 1286 1293 1294 (defun generic-function-method-combination (gf) 1295 (sys:%generic-function-method-combination gf)) 1287 1296 (defun (setf generic-function-method-combination) (new-value gf) 1288 1297 (set-generic-function-method-combination gf new-value)) 1289 1298 1299 (defun generic-function-argument-precedence-order (gf) 1300 (sys:%generic-function-argument-precedence-order gf)) 1290 1301 (defun (setf generic-function-argument-precedence-order) (new-value gf) 1291 1302 (set-generic-function-argument-precedence-order gf new-value)) … … 1845 1856 1846 1857 (defun std-compute-discriminating-function (gf) 1858 ;; In this function, we know that gf is of class 1859 ;; standard-generic-function, so we call various 1860 ;; sys:%generic-function-foo readers to break circularities. 1847 1861 (cond 1848 ((and (= (length (generic-function-methods gf)) 1) 1849 (typep (car (generic-function-methods gf)) 'standard-reader-method)) 1850 ;; (sys::%format t "standard reader function ~S~%" (generic-function-name gf)) 1851 1852 (let* ((method (%car (generic-function-methods gf))) 1862 ((and (= (length (sys:%generic-function-methods gf)) 1) 1863 (typep (car (sys:%generic-function-methods gf)) 'standard-reader-method)) 1864 (let* ((method (%car (sys:%generic-function-methods gf))) 1853 1865 (class (car (%method-specializers method))) 1854 1866 (slot-name (reader-method-slot-name method))) … … 1880 1892 ((= number-required 1) 1881 1893 (cond 1882 ((and (eq ( generic-function-method-combination gf) 'standard)1883 (= (length ( generic-function-methods gf)) 1))1884 (let* ((method (%car ( generic-function-methods gf)))1894 ((and (eq (sys:%generic-function-method-combination gf) 'standard) 1895 (= (length (sys:%generic-function-methods gf)) 1)) 1896 (let* ((method (%car (sys:%generic-function-methods gf))) 1885 1897 (specializer (car (%method-specializers method))) 1886 1898 (function (or (%method-fast-function method) … … 3370 3382 (allocate-instance class)) 3371 3383 3384 ;;; Readers for generic function metaobjects 3385 ;;; See AMOP pg. 216ff. 3386 (atomic-defgeneric generic-function-argument-precedence-order (generic-function) 3387 (:method ((generic-function standard-generic-function)) 3388 (sys:%generic-function-argument-precedence-order generic-function))) 3389 3390 (atomic-defgeneric generic-function-declarations (generic-function) 3391 (:method ((generic-function standard-generic-function)) 3392 ;; TODO: add slot to StandardGenericFunctionClass.java, use it 3393 nil)) 3394 3395 (atomic-defgeneric generic-function-lambda-list (generic-function) 3396 (:method ((generic-function standard-generic-function)) 3397 (sys:%generic-function-lambda-list generic-function))) 3398 3399 (atomic-defgeneric generic-function-method-class (generic-function) 3400 (:method ((generic-function standard-generic-function)) 3401 (sys:%generic-function-method-class generic-function))) 3402 3403 (atomic-defgeneric generic-function-method-combination (generic-function) 3404 (:method ((generic-function standard-generic-function)) 3405 (sys:%generic-function-method-combination generic-function))) 3406 3407 (atomic-defgeneric generic-function-methods (generic-function) 3408 (:method ((generic-function standard-generic-function)) 3409 (sys:%generic-function-methods generic-function))) 3410 3411 (atomic-defgeneric generic-function-name (generic-function) 3412 (:method ((generic-function standard-generic-function)) 3413 (sys:%generic-function-name generic-function))) 3414 3372 3415 (eval-when (:compile-toplevel :load-toplevel :execute) 3373 3416 (require "MOP"))
Note: See TracChangeset
for help on using the changeset viewer.