chiark / gitweb /
doc/list-exports.lisp, doc/SYMBOLS: Report on condition classes.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 26 Mar 2017 09:01:28 +0000 (10:01 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 22 Jul 2017 17:13:30 +0000 (18:13 +0100)
Unfortunately, they don't have a well-defined metaclass, but we can dig
it out anyway.

doc/SYMBOLS
doc/list-exports.lisp

index af3584e2fcc3bd641fb79622a36a6ddf8d55b776..0d41e6b3ad9f0d33afb3e36b09cf7654a7590940 100644 (file)
@@ -629,6 +629,9 @@ pset-proto.lisp
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      cl:serious-condition
+        cl:error
     cl:standard-object
       alignas-storage-specifier
       base-offset
@@ -1717,6 +1720,39 @@ streams-proto.lisp
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      condition-with-location
+        enclosing-condition-with-location [enclosing-condition]
+          enclosing-error-with-location [cl:error]
+          enclosing-warning-with-location [cl:warning]
+        error-with-location [cl:error]
+          simple-error-with-location [cl:simple-error]
+        simple-condition-with-location [cl:simple-condition]
+        warning-with-location [cl:warning]
+          simple-warning-with-location [cl:simple-warning]
+      enclosing-condition
+        enclosing-condition-with-location [condition-with-location]
+          enclosing-error-with-location [cl:error]
+          enclosing-warning-with-location [cl:warning]
+      cl:serious-condition
+        cl:error
+          enclosing-error-with-location [enclosing-condition-with-location]
+          error-with-location [condition-with-location]
+            simple-error-with-location [cl:simple-error]
+          cl:simple-error [cl:simple-condition]
+            simple-error-with-location [error-with-location]
+      cl:simple-condition
+        simple-condition-with-location [condition-with-location]
+        cl:simple-error [cl:error]
+          simple-error-with-location [error-with-location]
+        cl:simple-warning [cl:warning]
+          simple-warning-with-location [warning-with-location]
+      cl:warning
+        enclosing-warning-with-location [enclosing-condition-with-location]
+        cl:simple-warning [cl:simple-condition]
+          simple-warning-with-location [warning-with-location]
+        warning-with-location [condition-with-location]
+          simple-warning-with-location [cl:simple-warning]
     cl:standard-object
       character-parser-context
         character-scanner-context [scanner-context]
@@ -2112,6 +2148,12 @@ optparse.lisp
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      cl:serious-condition
+        cl:error
+          option-parse-error [cl:simple-condition]
+      cl:simple-condition
+        option-parse-error [cl:error]
     cl:structure-object
       option
       option-parser
@@ -2173,6 +2215,10 @@ utilities.lisp
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      cl:serious-condition
+        cl:error
+          inconsistent-merge-error
     cl:standard-object
       sb-mop:metaobject
         sb-mop:specializer
index eb87d169221d4f5ec43d4ea86586c197995ab813..f58fb2b95c903918c42ab6dcd59d2a36ca75d78c 100755 (executable)
@@ -205,13 +205,17 @@ (defun pretty-symbol-name (symbol package)
                  (t (best-package-name pkg)))
            (or exportp (null pkg)) (symbol-name symbol))))
 
+(deftype interesting-class ()
+  '(or standard-class
+       structure-class
+       #.(class-name (class-of (find-class 'condition)))))
+
 (defun analyse-classes (package)
   (setf package (find-package package))
   (let ((classes (mapcan (lambda (symbol)
                           (let ((class (find-class symbol nil)))
                             (and class
-                                 (typep class '(or standard-class
-                                                structure-class))
+                                 (typep class 'interesting-class)
                                  (list class))))
                         (list-exported-symbols package)))
        (subs (make-hash-table)))