source: trunk/abcl/src/org/armedbear/lisp/mop.lisp @ 13377

Last change on this file since 13377 was 13377, checked in by Mark Evenson, 10 years ago

Export symbols which are in the AMOP dictionary.

design/amop/missing.markdown contains the missing symbols discovered
by running APROPOS on a live ABCL image.

File size: 2.0 KB
Line 
1;;;; Does not currently include all the MOP, but it should.
2
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
10;;; StandardGenericFunction.java defines FUNCALLABLE-INSTANCE-FUNCTION and
11;;; SET-FUNCALLABLE-INSTANCE-FUNCTION.
12;;;
13;;; TODO
14;;;
15;;;   1. Verify that we can make FUNCALLABLE-STANDARD-CLASS instances
16;;;      which work.
17;;;
18;;;   2. Tighten the type checks so that only instances of
19;;;      FUNCALLABLE-STANDARD-CLASS are callable.
20
21(defgeneric validate-superclass (class superclass)
22 (:documentation 
23  "This generic function is called to determine whether the class
24  superclass is suitable for use as a superclass of class."))
25
26(defmethod validate-superclass ((class class) (superclass class))
27  (or (eql (class-name superclass) t)
28      (eql (class-name class) (class-name superclass))
29      (or (and (eql (class-name class) 'standard-class)
30               (eql (class-name superclass) 'funcallable-standard-class))
31          (and (eql (class-name class) 'funcallable-standard-class)
32               (eql (class-name superclass) 'standard-class)))))
33
34(export '(funcallable-standard-class
35          validate-superclass
36          direct-slot-definition-class
37          effective-slot-definition-class
38          compute-effective-slot-definition
39          compute-class-precedence-list
40          compute-effective-slot-definition
41          compute-slots
42          finalize-inheritance
43          slot-boundp-using-class
44          slot-makunbound-using-class
45         
46          class-default-initargs
47          class-direct-default-initargs
48          class-direct-slots
49          class-direct-subclasses
50          class-direct-superclasses
51          class-finalized-p
52          class-prototype
53         
54          generic-function-lambda-list
55
56          method-function
57         
58          slot-definition-readers
59          slot-definition-writers
60
61          eql-specializer-object
62          extract-lambda-list
63
64          intern-eql-specializer))
65
66(provide 'mop)
67
68
69
70
71
Note: See TracBrowser for help on using the repository browser.