Changeset 10293


Ignore:
Timestamp:
Aug 4, 2008, 5:23:55 AM (11 years ago)
Author:
gb
Message:

Use MAKE-ISTRUCT class to create istruct-based classes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-clos-boot.lisp

    r10127 r10293  
    14031403    class))
    14041404
     1405(defun make-istruct-class (name &rest supers)
     1406  (let* ((class (apply #'make-built-in-class name supers))
     1407         (cell (register-istruct-cell name)))
     1408    (setf (istruct-cell-info cell) (%class.own-wrapper class))
     1409    class))
     1410
    14051411;;; This will be filled in below.  Need it defined now as it goes in
    14061412;;; the instance.class-wrapper of all the classes that STANDARD-CLASS
     
    16431649  (defstatic *read-write-lock-class* (make-built-in-class 'read-write-lock *lock-class*))
    16441650 
    1645   (make-built-in-class 'lock-acquisition *istruct-class*)
    1646   (make-built-in-class 'semaphore-notification *istruct-class*)
    1647   (make-built-in-class 'class-wrapper *istruct-class*)
     1651  (make-istruct-class 'lock-acquisition *istruct-class*)
     1652  (make-istruct-class 'semaphore-notification *istruct-class*)
     1653  (make-istruct-class 'class-wrapper *istruct-class*)
    16481654  ;; Compiler stuff, mostly
    1649   (make-built-in-class 'faslapi *istruct-class*)
    1650   (make-built-in-class 'var *istruct-class*)
    1651   (make-built-in-class 'afunc *istruct-class*)
    1652   (make-built-in-class 'lexical-environment *istruct-class*)
    1653   (make-built-in-class 'definition-environment *istruct-class*)
    1654   (make-built-in-class 'compiler-policy *istruct-class*)
    1655   (make-built-in-class 'deferred-warnings *istruct-class*)
    1656   (make-built-in-class 'ptaskstate *istruct-class*)
    1657   (make-built-in-class 'entry *istruct-class*)
    1658   (make-built-in-class 'foreign-object-domain *istruct-class*)
     1655  (make-istruct-class 'faslapi *istruct-class*)
     1656  (make-istruct-class 'faslstate *istruct-class*)
     1657  (make-istruct-class 'var *istruct-class*)
     1658  (make-istruct-class 'afunc *istruct-class*)
     1659  (make-istruct-class 'lexical-environment *istruct-class*)
     1660  (make-istruct-class 'definition-environment *istruct-class*)
     1661  (make-istruct-class 'compiler-policy *istruct-class*)
     1662  (make-istruct-class 'deferred-warnings *istruct-class*)
     1663  (make-istruct-class 'ptaskstate *istruct-class*)
     1664  (make-istruct-class 'entry *istruct-class*)
     1665  (make-istruct-class 'foreign-object-domain *istruct-class*)
    16591666
    16601667 
    1661   (make-built-in-class 'slot-id *istruct-class*)
     1668  (make-istruct-class 'slot-id *istruct-class*)
    16621669  (make-built-in-class 'value-cell)
    1663   (make-built-in-class 'restart *istruct-class*)
    1664   (make-built-in-class 'hash-table *istruct-class*)
    1665   (make-built-in-class 'readtable *istruct-class*)
    1666   (make-built-in-class 'pathname *istruct-class*)
    1667   (make-built-in-class 'random-state *istruct-class*)
    1668   (make-built-in-class 'xp-structure *istruct-class*)
    1669   (make-built-in-class 'lisp-thread *istruct-class*)
    1670   (make-built-in-class 'resource *istruct-class*)
    1671   (make-built-in-class 'periodic-task *istruct-class*)
    1672   (make-built-in-class 'semaphore *istruct-class*)
     1670  (make-istruct-class 'restart *istruct-class*)
     1671  (make-istruct-class 'hash-table *istruct-class*)
     1672  (make-istruct-class 'readtable *istruct-class*)
     1673  (make-istruct-class 'pathname *istruct-class*)
     1674  (make-istruct-class 'random-state *istruct-class*)
     1675  (make-istruct-class 'xp-structure *istruct-class*)
     1676  (make-istruct-class 'lisp-thread *istruct-class*)
     1677  (make-istruct-class 'resource *istruct-class*)
     1678  (make-istruct-class 'periodic-task *istruct-class*)
     1679  (make-istruct-class 'semaphore *istruct-class*)
    16731680 
    1674   (make-built-in-class 'type-class *istruct-class*)
     1681  (make-istruct-class 'type-class *istruct-class*)
    16751682 
    1676   (defstatic *ctype-class* (make-built-in-class 'ctype *istruct-class*))
    1677   (make-built-in-class 'key-info *istruct-class*)
    1678   (defstatic *args-ctype* (make-built-in-class 'args-ctype *ctype-class*))
    1679   (make-built-in-class 'values-ctype *args-ctype*)
    1680   (make-built-in-class 'function-ctype *args-ctype*)
    1681   (make-built-in-class 'constant-ctype *ctype-class*)
    1682   (make-built-in-class 'named-ctype *ctype-class*)
    1683   (make-built-in-class 'cons-ctype *ctype-class*)
    1684   (make-built-in-class 'unknown-ctype (make-built-in-class 'hairy-ctype *ctype-class*))
    1685   (make-built-in-class 'numeric-ctype *ctype-class*)
    1686   (make-built-in-class 'array-ctype *ctype-class*)
    1687   (make-built-in-class 'member-ctype *ctype-class*)
    1688   (make-built-in-class 'union-ctype *ctype-class*)
    1689   (make-built-in-class 'foreign-ctype *ctype-class*)
    1690   (make-built-in-class 'class-ctype *ctype-class*)
    1691   (make-built-in-class 'negation-ctype *ctype-class*)
    1692   (make-built-in-class 'intersection-ctype *ctype-class*)
     1683  (defstatic *ctype-class* (make-istruct-class 'ctype *istruct-class*))
     1684  (make-istruct-class 'key-info *istruct-class*)
     1685  (defstatic *args-ctype* (make-istruct-class 'args-ctype *ctype-class*))
     1686  (make-istruct-class 'values-ctype *args-ctype*)
     1687  (make-istruct-class 'function-ctype *args-ctype*)
     1688  (make-istruct-class 'constant-ctype *ctype-class*)
     1689  (make-istruct-class 'named-ctype *ctype-class*)
     1690  (make-istruct-class 'cons-ctype *ctype-class*)
     1691  (make-istruct-class 'unknown-ctype (make-istruct-class 'hairy-ctype *ctype-class*))
     1692  (make-istruct-class 'numeric-ctype *ctype-class*)
     1693  (make-istruct-class 'array-ctype *ctype-class*)
     1694  (make-istruct-class 'member-ctype *ctype-class*)
     1695  (make-istruct-class 'union-ctype *ctype-class*)
     1696  (make-istruct-class 'foreign-ctype *ctype-class*)
     1697  (make-istruct-class 'class-ctype *ctype-class*)
     1698  (make-istruct-class 'negation-ctype *ctype-class*)
     1699  (make-istruct-class 'intersection-ctype *ctype-class*)
    16931700 
    1694   (make-built-in-class 'class-cell *istruct-class*)
     1701  (make-istruct-class 'class-cell *istruct-class*)
     1702  (make-istruct-class 'type-cell *istruct-class*)
     1703  (make-istruct-class 'package-ref *istruct-class*)
     1704
     1705  (make-istruct-class 'foreign-variable *istruct-class*)
     1706  (make-istruct-class 'external-entry-point *istruct-class*)
     1707  (make-istruct-class 'shlib *istruct-class*)
     1708                     
    16951709  (make-built-in-class 'complex (find-class 'number))
    16961710  (make-built-in-class 'real (find-class 'number))
     
    17151729
    17161730
    1717   (make-built-in-class 'logical-pathname (find-class 'pathname))
     1731  (make-istruct-class 'logical-pathname (find-class 'pathname))
     1732
     1733  (make-istruct-class 'destructure-state *istruct-class*)
    17181734 
    17191735  (defstatic *base-char-class* (alias-class 'base-char *character-class*))
Note: See TracChangeset for help on using the changeset viewer.