src/utilities.lisp, src/class-finalize-impl.lisp: Improve error reports.
[sod] / doc / SYMBOLS
index cec9fa3..36a700b 100644 (file)
@@ -70,6 +70,7 @@ c-types-impl.lisp
   double-complex                                c-type
   double-imaginary                              c-type
   enum                                          c-type
+  find-simple-c-type                            function
   cl:float                                      function class c-type
   float-complex                                 c-type
   float-imaginary                               c-type
@@ -195,6 +196,7 @@ class-finalize-impl.lisp
   dylan-cpl                                     function
   flavors-cpl                                   function
   l*loops-cpl                                   function
+  merge-class-lists                             function
   python-cpl                                    function
 
 class-finalize-proto.lisp
@@ -598,6 +600,7 @@ output-proto.lisp
   sequencer-table                               generic
 
 pset-parse.lisp
+  parse-property                                function
   parse-property-set                            function
 
 pset-proto.lisp
@@ -626,12 +629,12 @@ pset-proto.lisp
   store-property                                function
   with-pset-iterator                            macro
 
-Leaked slot names: cl:type
-  sod-initarg: cl:type
-
 Classes:
 cl:t
   sb-pcl::slot-object
+    cl:condition
+      cl:serious-condition
+        cl:error
     cl:standard-object
       alignas-storage-specifier
       base-offset
@@ -764,18 +767,18 @@ c-type-class
 (setf c-type-class)
   t c-class-type
 c-type-equal-p
-  t t
-  c-array-type c-array-type
-  c-atomic-type c-atomic-type
-  c-class-type c-class-type
-  c-function-type c-function-type
-  c-keyword-function-type c-keyword-function-type
-  c-pointer-type c-pointer-type
-  c-storage-specifiers-type c-type
-  c-type c-storage-specifiers-type
-  qualifiable-c-type qualifiable-c-type
-  simple-c-type simple-c-type
-  tagged-c-type tagged-c-type
+  t t [and]
+  c-array-type c-array-type [and]
+  c-atomic-type c-atomic-type [and]
+  c-class-type c-class-type [and]
+  c-function-type c-function-type [and]
+  c-keyword-function-type c-keyword-function-type [and]
+  c-pointer-type c-pointer-type [and]
+  c-storage-specifiers-type c-type [:around]
+  c-type c-storage-specifiers-type [:around]
+  qualifiable-c-type qualifiable-c-type [and]
+  simple-c-type simple-c-type [and]
+  tagged-c-type tagged-c-type [and]
 c-type-name
   simple-c-type
 c-type-qualifiers
@@ -877,7 +880,7 @@ compute-chains
 compute-cpl
   sod-class
 compute-effective-method-body
-  basic-effective-method t t
+  basic-effective-method t t [:around]
   simple-effective-method t t
 compute-effective-methods
   sod-class
@@ -892,7 +895,7 @@ compute-islots
   sod-class sod-class
 compute-method-entry-functions
   basic-effective-method
-  effective-method
+  effective-method [:around]
 compute-sod-effective-method
   sod-message sod-class
 compute-vtable
@@ -1084,47 +1087,47 @@ format-temporary-name
 guess-metaclass
   sod-class
 hook-output
-  t t t
-  base-offset (eql :c) t
-  base-offset (eql :h) t
-  basic-effective-method (eql :c) t
-  chain-offset (eql :c) t
-  chain-offset (eql :h) t
-  class-pointer (eql :c) t
-  class-pointer (eql :h) t
-  code-fragment-item t t
-  delegating-direct-method (eql :c) t
-  effective-slot (eql cl:class) t
-  ichain (eql :h) t
-  ichain (eql cl:class) t
-  ichain (eql ilayout) t
-  ichain t t
-  ilayout (eql :h) t
-  ilayout t t
-  islots (eql :h) t
-  islots (eql cl:class) t
-  islots t t
-  method-entry (eql :c) t
-  method-entry (eql vtmsgs) t
-  module (eql :c) t
-  module (eql :h) t
-  module t t
-  sod-class (eql :c) t
-  sod-class (eql :h) t
-  sod-class t t
-  sod-class-effective-slot (eql cl:class) t
-  sod-method (eql :c) t
-  sod-method (eql :h) t
-  sod-slot (eql islots) t
-  vtable (eql :c) t
-  vtable (eql :h) t
-  vtable t t
-  vtable-pointer (eql :h) t
-  vtable-pointer (eql cl:class) t
-  vtmsgs (eql :c) t
-  vtmsgs (eql :h) t
-  vtmsgs (eql vtmsgs) t
-  vtmsgs t t
+  t t t [progn]
+  base-offset (eql :c) t [progn]
+  base-offset (eql :h) t [progn]
+  basic-effective-method (eql :c) t [progn]
+  chain-offset (eql :c) t [progn]
+  chain-offset (eql :h) t [progn]
+  class-pointer (eql :c) t [progn]
+  class-pointer (eql :h) t [progn]
+  code-fragment-item t t [progn]
+  delegating-direct-method (eql :c) t [progn]
+  effective-slot (eql cl:class) t [progn]
+  ichain (eql :h) t [progn]
+  ichain (eql cl:class) t [progn]
+  ichain (eql ilayout) t [progn]
+  ichain t t [progn]
+  ilayout (eql :h) t [progn]
+  ilayout t t [progn]
+  islots (eql :h) t [progn]
+  islots (eql cl:class) t [progn]
+  islots t t [progn]
+  method-entry (eql :c) t [progn]
+  method-entry (eql vtmsgs) t [progn]
+  module (eql :c) t [progn]
+  module (eql :h) t [progn]
+  module t t [progn]
+  sod-class (eql :c) t [progn]
+  sod-class (eql :h) t [progn]
+  sod-class t t [progn]
+  sod-class-effective-slot (eql cl:class) t [progn]
+  sod-method (eql :c) t [progn]
+  sod-method (eql :h) t [progn]
+  sod-slot (eql islots) t [progn]
+  vtable (eql :c) t [progn]
+  vtable (eql :h) t [progn]
+  vtable t t [progn]
+  vtable-pointer (eql :h) t [progn]
+  vtable-pointer (eql cl:class) t [progn]
+  vtmsgs (eql :c) t [progn]
+  vtmsgs (eql :h) t [progn]
+  vtmsgs (eql vtmsgs) t [progn]
+  vtmsgs t t [progn]
 ichain-body
   ichain
 ichain-class
@@ -1299,7 +1302,7 @@ pprint-c-storage-specifier
   cl:symbol t
   alignas-storage-specifier t
 pprint-c-type
-  t t t
+  t t t [:around]
   c-array-type t t
   c-atomic-type t t
   c-function-type t t
@@ -1378,22 +1381,22 @@ sequencer-constraints
 sequencer-table
   sequencer
 cl:shared-initialize
-  aggregating-message t
-  basic-direct-method t
-  c-function-type t
-  c-keyword-function-type t
-  effective-method t
-  method-codegen t
-  module t
+  aggregating-message t [:before]
+  basic-direct-method t [:after]
+  c-function-type t [:after]
+  c-keyword-function-type t [:after]
+  effective-method t [:after]
+  method-codegen t [:after]
+  module t [:after]
   sequencer t
-  simple-effective-method t
-  sod-class t
-  sod-class-slot t
-  sod-initializer t
-  sod-message t
-  sod-method t
-  sod-slot t
-  sod-token-scanner t
+  simple-effective-method t [:after]
+  sod-class t [:after]
+  sod-class-slot t [:after]
+  sod-initializer t [:after]
+  sod-message t [:after]
+  sod-method t [:after]
+  sod-slot t [:after]
+  sod-token-scanner t [:after]
 simple-method-body
   aggregating-effective-method t t
   sod::lifecycle-effective-method t t
@@ -1720,6 +1723,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]
@@ -1880,6 +1916,7 @@ file-location
   condition-with-location
   file-location
   position-aware-stream
+  string-scanner
   token-scanner
   token-scanner-place
 cl:make-load-form
@@ -1949,7 +1986,7 @@ cl:print-object
 push-operator
   t sod-parser::expression-parse-state
   close-parenthesis sod-parser::expression-parse-state
-  open-parenthesis sod-parser::expression-parse-state
+  open-parenthesis sod-parser::expression-parse-state [:after]
   prefix-operator sod-parser::expression-parse-state
 push-value
   t sod-parser::expression-parse-state
@@ -1967,6 +2004,7 @@ scanner-capture-place
 scanner-column
   t
   charbuf-scanner
+  string-scanner
   token-scanner
 (setf scanner-column)
   t token-scanner
@@ -1976,6 +2014,7 @@ scanner-current-char
 scanner-filename
   t
   charbuf-scanner
+  string-scanner
   token-scanner
 scanner-interval
   charbuf-scanner t
@@ -1983,6 +2022,7 @@ scanner-interval
 scanner-line
   t
   charbuf-scanner
+  string-scanner
   token-scanner
 (setf scanner-line)
   t token-scanner
@@ -2004,10 +2044,11 @@ scanner-token
   sod:sod-token-scanner
 scanner-unread
   charbuf-scanner t
+  string-scanner t
 cl:shared-initialize
-  charbuf-scanner t
-  simple-binary-operator t
-  token-scanner t
+  charbuf-scanner t [:after]
+  simple-binary-operator t [:after]
+  token-scanner t [:after]
 sb-gray:stream-line-column
   position-aware-output-stream
 stream-pathname
@@ -2112,13 +2153,15 @@ optparse.lisp
   cl:string                                     function class c-type opthandler
   with-unix-error-reporting                     macro
 
-Leaked slot names: cl:documentation, options
-  option: cl:documentation
-  option-parser: options
-
 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
@@ -2131,6 +2174,7 @@ cl:print-object
 Package `sod-utilities'
 
 utilities.lisp
+  aand                                          macro
   acase                                         macro
   acond                                         macro
   aecase                                        macro
@@ -2180,6 +2224,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