Changeset 13774
- Timestamp:
- 01/14/12 16:52:48 (11 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/StandardClass.java
r13773 r13774 451 451 addStandardClass(Symbol.STRUCTURE_CLASS, list(CLASS)); 452 452 453 public static final StandardClass FUNCALLABLE_STANDARD_CLASS = 454 addStandardClass(Symbol.FUNCALLABLE_STANDARD_CLASS, list(CLASS)); 455 static 456 { 457 // funcallable-standard-class has more or less the same interface as 458 // standard-class. 459 FUNCALLABLE_STANDARD_CLASS.setClassLayout(layoutStandardClass); 460 FUNCALLABLE_STANDARD_CLASS.setDirectSlotDefinitions(standardClassSlotDefinitions()); 461 } 462 453 463 public static final StandardClass CONDITION = 454 464 addStandardClass(Symbol.CONDITION, list(STANDARD_OBJECT)); … … 572 582 } 573 583 584 // ### TODO move functionality upwards into funcallable-stanard-object 585 // and use addStandardClass() here 574 586 public static final StandardClass STANDARD_GENERIC_FUNCTION = 575 587 new StandardGenericFunctionClass(); -
trunk/abcl/src/org/armedbear/lisp/Symbol.java
r13773 r13774 2974 2974 public static final Symbol FUNCALLABLE_STANDARD_OBJECT = 2975 2975 PACKAGE_MOP.addExternalSymbol("FUNCALLABLE-STANDARD-OBJECT"); 2976 public static final Symbol FUNCALLABLE_STANDARD_CLASS = 2977 PACKAGE_CL.addExternalSymbol("FUNCALLABLE-STANDARD-CLASS"); 2976 2978 public static final Symbol SHORT_METHOD_COMBINATION = 2977 2979 PACKAGE_MOP.addInternalSymbol("SHORT-METHOD-COMBINATION"); -
trunk/abcl/src/org/armedbear/lisp/clos.lisp
r13762 r13774 2473 2473 #'(lambda (class-name) 2474 2474 `(:method (new-value (class ,class-name)) 2475 2476 #'(lambda (class-name)2477 `(:method ((class ,class-name))2478 2479 '(built-in-class 2480 forward-referenced-class2481 structure-class))2482 (:method (,@(when (consp name) (list 'new-value))2483 (class standard-class))2484 ,(if (consp name)2485 `(setf (slot-value class ',slot) new-value)2486 `(slot-value class ',slot))))))2475 (,%name new-value class))) 2476 #'(lambda (class-name) 2477 `(:method ((class ,class-name)) 2478 (,%name class)))) 2479 '(built-in-class forward-referenced-class structure-class)) 2480 ,@(mapcar #'(lambda (class-name) 2481 `(:method (,@(when (consp name) (list 'new-value)) 2482 (class ,class-name)) 2483 ,(if (consp name) 2484 `(setf (slot-value class ',slot) new-value) 2485 `(slot-value class ',slot)))) 2486 '(standard-class funcallable-standard-class))))) 2487 2487 2488 2488 … … 2566 2566 new-value) 2567 2567 2568 (defmethod documentation ((x standard-class) (doc-type (eql 't)))2568 (defmethod documentation ((x class) (doc-type (eql 't))) 2569 2569 (class-documentation x)) 2570 2570 2571 (defmethod documentation ((x standard-class) (doc-type (eql 'type)))2571 (defmethod documentation ((x class) (doc-type (eql 'type))) 2572 2572 (class-documentation x)) 2573 2573 2574 (defmethod (setf documentation) (new-value (x standard-class) (doc-type (eql 't)))2574 (defmethod (setf documentation) (new-value (x class) (doc-type (eql 't))) 2575 2575 (%set-class-documentation x new-value)) 2576 2576 2577 (defmethod (setf documentation) (new-value (x standard-class) (doc-type (eql 'type)))2577 (defmethod (setf documentation) (new-value (x class) (doc-type (eql 'type))) 2578 2578 (%set-class-documentation x new-value)) 2579 2579 … … 3004 3004 (atomic-defgeneric finalize-inheritance (class) 3005 3005 (:method ((class standard-class)) 3006 (std-finalize-inheritance class)) 3007 (:method ((class funcallable-standard-class)) 3006 3008 (std-finalize-inheritance class))) 3007 3009 … … 3016 3018 (defgeneric compute-slots (class)) 3017 3019 (defmethod compute-slots ((class standard-class)) 3020 (std-compute-slots class)) 3021 (defmethod compute-slots ((class funcallable-standard-class)) 3018 3022 (std-compute-slots class)) 3019 3023 -
trunk/abcl/src/org/armedbear/lisp/mop.lisp
r13766 r13774 2 2 3 3 (in-package #:mop) 4 5 (defclass funcallable-standard-class (class))6 7 (defmethod class-name ((class funcallable-standard-class))8 'funcallable-standard-class)9 4 10 5 ;;; StandardGenericFunction.java defines FUNCALLABLE-INSTANCE-FUNCTION and
Note: See TracChangeset
for help on using the changeset viewer.