/[cmucl]/src/pcl/defs.lisp
ViewVC logotype

Diff of /src/pcl/defs.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.13 by dtc, Tue May 19 02:11:44 1998 UTC revision 1.14 by dtc, Fri Jun 5 02:53:51 1998 UTC
# Line 185  Line 185 
185                      *the-class-stream*                      *the-class-stream*
186    
187                      *the-class-slot-object*                      *the-class-slot-object*
                     *the-class-standard-object*  
188                      *the-class-structure-object*                      *the-class-structure-object*
189                        *the-class-std-object*
190                        *the-class-standard-object*
191                        *the-class-funcallable-standard-object*
192                      *the-class-class*                      *the-class-class*
193                      *the-class-generic-function*                      *the-class-generic-function*
194                      *the-class-built-in-class*                      *the-class-built-in-class*
195                      *the-class-slot-class*                      *the-class-slot-class*
196                      *the-class-structure-class*                      *the-class-structure-class*
197                        *the-class-std-class*
198                      *the-class-standard-class*                      *the-class-standard-class*
199                      *the-class-funcallable-standard-class*                      *the-class-funcallable-standard-class*
200                      *the-class-method*                      *the-class-method*
# Line 627  Line 630 
630    (defclass stream (t) ()    (defclass stream (t) ()
631      (:metaclass built-in-class)))      (:metaclass built-in-class)))
632    
633  (defclass slot-object (#-cmu17 t #+cmu17 kernel:instance) ()  (defclass slot-object (t) ()
634    (:metaclass slot-class))    (:metaclass slot-class))
635    
636  (defclass structure-object (slot-object) ()  (defclass structure-object (slot-object #+cmu17 kernel:instance) ()
637    (:metaclass structure-class))    (:metaclass structure-class))
638    
639  (defstruct (#-cmu17 structure-object #+cmu17 dead-beef-structure-object  (defstruct (#-cmu17 structure-object #+cmu17 dead-beef-structure-object
640               (:constructor |STRUCTURE-OBJECT class constructor|)))               (:constructor |STRUCTURE-OBJECT class constructor|)))
641    
642    
643  (defclass standard-object (slot-object) ())  (defclass std-object (slot-object) ()
644      (:metaclass std-class))
645    
646    (defclass standard-object (std-object #+cmu17 kernel:instance) ())
647    
648  (defclass metaobject (standard-object) ())  (defclass funcallable-standard-object (std-object
649                                           #+cmu17 kernel:funcallable-instance)
650         ()
651      (:metaclass funcallable-standard-class))
652    
653  (defclass specializer (metaobject)  (defclass specializer (standard-object)
654       ((type       ((type
655          :initform nil          :initform nil
656          :reader specializer-type)))          :reader specializer-type)))
657    
658  (defclass definition-source-mixin (standard-object)  (defclass definition-source-mixin (std-object)
659       ((source       ((source
660          :initform (load-truename)          :initform (load-truename)
661          :reader definition-source          :reader definition-source
662          :initarg :definition-source)))          :initarg :definition-source))
663      (:metaclass std-class))
664    
665  (defclass plist-mixin (standard-object)  (defclass plist-mixin (std-object)
666       ((plist       ((plist
667          :initform ()          :initform ()
668          :accessor object-plist)))          :accessor object-plist))
669      (:metaclass std-class))
670    
671  (defclass documentation-mixin (plist-mixin)  (defclass documentation-mixin (plist-mixin)
672       ())       ()
673      (:metaclass std-class))
674    
675  (defclass dependent-update-mixin (plist-mixin)  (defclass dependent-update-mixin (plist-mixin)
676      ())      ()
677      (:metaclass std-class))
678    
679  ;;;  ;;;
680  ;;; The class CLASS is a specified basic class.  It is the common superclass  ;;; The class CLASS is a specified basic class.  It is the common superclass
# Line 774  Line 787 
787  ;;;  ;;;
788  ;;; Slot definitions.  ;;; Slot definitions.
789  ;;;  ;;;
790  (defclass slot-definition (metaobject)  (defclass slot-definition (standard-object)
791       ((name       ((name
792          :initform nil          :initform nil
793          :initarg :name          :initarg :name
# Line 862  Line 875 
875                                                 effective-slot-definition)                                                 effective-slot-definition)
876    ())    ())
877    
878  (defclass method (metaobject) ())  (defclass method (standard-object) ())
879    
880  (defclass standard-method (definition-source-mixin plist-mixin method)  (defclass standard-method (definition-source-mixin plist-mixin method)
881       ((generic-function       ((generic-function
# Line 910  Line 923 
923  (defclass generic-function (dependent-update-mixin  (defclass generic-function (dependent-update-mixin
924                              definition-source-mixin                              definition-source-mixin
925                              documentation-mixin                              documentation-mixin
926                              metaobject                              funcallable-standard-object)
                             #+cmu17 kernel:funcallable-instance)  
927       ()       ()
928    (:metaclass funcallable-standard-class))    (:metaclass funcallable-standard-class))
929    
# Line 943  Line 955 
955    (:default-initargs :method-class *the-class-standard-method*    (:default-initargs :method-class *the-class-standard-method*
956                       :method-combination *standard-method-combination*))                       :method-combination *standard-method-combination*))
957    
958  (defclass method-combination (metaobject) ())  (defclass method-combination (standard-object) ())
959    
960  (defclass standard-method-combination  (defclass standard-method-combination
961            (definition-source-mixin method-combination)            (definition-source-mixin method-combination)
# Line 954  Line 966 
966        (options       :reader method-combination-options        (options       :reader method-combination-options
967                       :initarg :options)))                       :initarg :options)))
968    
 ;;;  
 ;;; The constructor objects. See construct.lisp.  
 ;;;  
 (defclass constructor (standard-object #+cmu17 kernel:funcallable-instance)  
      ((class                                    ;The class with which this  
         :initarg :class                         ;constructor is associated.  
         :reader constructor-class)              ;The actual class object,  
                                                 ;not the class name.  
                                                 ;  
       (name                                     ;The name of this constructor.  
         :initform nil                           ;This is the symbol in whose  
         :initarg :name                          ;function cell the constructor  
         :reader constructor-name)               ;usually sits.  Of course, this  
                                                 ;is optional.  defconstructor  
                                                 ;makes named constructors, but  
                                                 ;it is possible to manipulate  
                                                 ;anonymous constructors also.  
                                                 ;  
       (code-type                                ;The type of code currently in  
         :initform nil                           ;use by this constructor.  This  
         :accessor constructor-code-type)        ;is mostly for debugging and  
                                                 ;analysis purposes.  
                                                 ;The lazy installer sets this  
                                                 ;to LAZY.  The most basic and  
                                                 ;least optimized type of code  
                                                 ;is called FALLBACK.  
                                                 ;  
       (supplied-initarg-names                   ;The names of the initargs this  
         :initarg :supplied-initarg-names        ;constructor supplies when it  
         :reader                                 ;"calls" make-instance.  
            constructor-supplied-initarg-names)  ;  
                                                 ;  
       (code-generators                          ;Generators for the different  
         :initarg :code-generators               ;types of code this constructor  
         :reader constructor-code-generators))   ;could use.  
   (:metaclass funcallable-standard-class))  
   
969  (defparameter *early-class-predicates*  (defparameter *early-class-predicates*
970    '((specializer specializerp)    '((specializer specializerp)
971      (exact-class-specializer exact-class-specializer-p)      (exact-class-specializer exact-class-specializer-p)
# Line 998  Line 973 
973      (eql-specializer eql-specializer-p)      (eql-specializer eql-specializer-p)
974      (class classp)      (class classp)
975      (slot-class slot-class-p)      (slot-class slot-class-p)
976        (std-class std-class-p)
977      (standard-class standard-class-p)      (standard-class standard-class-p)
978      (funcallable-standard-class funcallable-standard-class-p)      (funcallable-standard-class funcallable-standard-class-p)
979      (structure-class structure-class-p)      (structure-class structure-class-p)

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.5