lib/sod-hosted.c (sod_makev): Use two statements rather than tricky expression.
[sod] / doc / SYMBOLS
index fc98f01..dc1e784 100644 (file)
@@ -354,11 +354,20 @@ class-make-proto.lisp
   make-sod-slot-initarg                         generic
   make-sod-slot-initarg-using-slot              generic
   make-sod-user-initarg                         generic
+  make-static-instance                          generic
   sod-initarg-argument                          generic
   sod-message-method-class                      generic
 
 class-output.lisp
   *instance-class*                              variable
+  *static-instance*                             variable
+  declare-static-instance                       generic
+  emit-class-conversion-macro                   generic
+  emit-class-object-decl                        generic
+  emit-class-typedef                            generic
+  emit-message-macro                            generic
+  emit-message-macro-defn                       generic
+  output-static-instance-initializer            generic
 
 class-utilities.lisp
   argument-lists-compatible-p                   function
@@ -423,6 +432,7 @@ classes.lisp
   sod-message                                   class
   sod-message-class                             generic
   sod-message-name                              generic
+  sod-message-readonly-p                        generic
   sod-message-type                              generic
   sod-method                                    class
   sod-method-body                               generic
@@ -435,6 +445,12 @@ classes.lisp
   sod-slot-name                                 generic
   sod-slot-type                                 generic
   sod-user-initarg                              class
+  static-instance                               class
+  static-instance-class                         generic
+  static-instance-const-p                       generic
+  static-instance-extern-p                      generic
+  static-instance-initializers                  generic setf-generic
+  static-instance-name                          generic
 
 codegen-impl.lisp
   codegen                                       class
@@ -618,6 +634,7 @@ method-proto.lisp
   sod-message-check-methods                     generic
   sod-message-effective-method-class            generic
   sod-message-keyword-argument-lists            generic
+  sod-message-receiver-type                     generic
   sod-method-description                        generic
   sod-method-function-name                      generic
   sod-method-function-type                      generic
@@ -822,6 +839,7 @@ cl:t
           delegating-direct-method
       sod-slot
         sod-class-slot
+      static-instance
       temporary-name
         temporary-argument
         temporary-function
@@ -1015,6 +1033,8 @@ compute-vtables
   sod-class
 compute-vtmsgs
   sod-class sod-class sod-class sod-class
+declare-static-instance
+  t t
 decode-property
   cl:character
   cl:cons
@@ -1057,6 +1077,12 @@ effective-slot-initializer-function
   sod-class-effective-slot
 effective-slot-prepare-function
   sod-class-effective-slot
+emit-class-conversion-macro
+  sod-class sod-class t
+emit-class-object-decl
+  sod-class t
+emit-class-typedef
+  sod-class t
 emit-decl
   sod::basic-codegen t
 emit-decls
@@ -1066,6 +1092,11 @@ emit-inst
 emit-insts
   t t
   sod::basic-codegen t
+emit-message-macro
+  sod-class method-entry t
+emit-message-macro-defn
+  sod-class method-entry t t t t t
+  sod-class method-entry t t t t t [:around]
 ensure-sequencer-item
   sequencer t
 ensure-var
@@ -1244,6 +1275,7 @@ sod-parser:file-location
   sod-message
   sod-method
   sod-slot
+  static-instance
 finalize-module
   module
 finalize-sod-class
@@ -1263,47 +1295,58 @@ format-temporary-name
 guess-metaclass
   sod-class
 hook-output
-  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]
+  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
+  effective-slot (eql static-instance) t
+  ichain (eql :h) t
+  ichain (eql cl:class) t
+  ichain (eql ilayout) t
+  ichain (eql static-instance) t
+  ichain t t [:after]
+  ilayout (eql :h) t [:after]
+  ilayout (eql :h) t
+  ilayout t t [:after]
+  islots (eql :h) t
+  islots (eql cl:class) t
+  islots (eql static-instance) t
+  islots t t [:after]
+  method-entry (eql :c) t
+  method-entry (eql vtmsgs) t
+  module (eql :c) t
+  module (eql :h) t
+  module t t [:after]
+  sod-class (eql :c) t [:after]
+  sod-class (eql :c) t
+  sod-class (eql :h) t [:after]
+  sod-class (eql :h) t
+  sod-class (eql static-instance) t
+  sod-class t t [:after]
+  sod-class-effective-slot (eql cl:class) t
+  sod-method (eql :c) t
+  sod-method (eql :h) t
+  sod-slot (eql islots) t
+  static-instance (eql :c) t [:after]
+  static-instance (eql :c) t
+  static-instance (eql :h) t
+  vtable (eql :c) t
+  vtable (eql :h) t
+  vtable t t [:after]
+  vtable-pointer (eql :h) t
+  vtable-pointer (eql cl:class) t
+  vtable-pointer (eql static-instance) t
+  vtmsgs (eql :c) t
+  vtmsgs (eql :h) t
+  vtmsgs (eql vtmsgs) t
+  vtmsgs t t [:after]
 ichain-body
   ichain
 ichain-class
@@ -1444,6 +1487,8 @@ make-sod-slot-initarg-using-slot
   sod-class t sod-slot t
 make-sod-user-initarg
   sod-class t t t
+make-static-instance
+  sod-class t t t t
 method-entry-chain-head
   method-entry
 method-entry-chain-tail
@@ -1491,6 +1536,8 @@ module-state
   module
 (setf module-state)
   t module
+output-static-instance-initializer
+  static-instance effective-slot t
 pprint-c-storage-specifier
   cl:symbol t
   alignas-storage-specifier t
@@ -1555,6 +1602,7 @@ cl:print-object
   sod-slot t
   sod-slot-initarg t
   sod-user-initarg t
+  static-instance t
   temporary-name t
   update-inst t
   var-inst t
@@ -1592,6 +1640,7 @@ cl:shared-initialize
   sod-method t [:after]
   sod-slot t [:after]
   sod-token-scanner t [:after]
+  static-instance t [:after]
 simple-method-body
   aggregating-effective-method t t
   sod::lifecycle-effective-method t t
@@ -1711,6 +1760,10 @@ sod-message-method-class
   sod-message sod-class t
 sod-message-name
   sod-message
+sod-message-readonly-p
+  sod-message
+sod-message-receiver-type
+  sod-message sod-class
 sod-message-type
   sod-message
 sod-method-body
@@ -1741,6 +1794,18 @@ sod-slot-prepare-function
   sod-class-slot
 sod-slot-type
   sod-slot
+static-instance-class
+  static-instance
+static-instance-const-p
+  static-instance
+static-instance-extern-p
+  static-instance
+static-instance-initializers
+  static-instance
+(setf static-instance-initializers)
+  t static-instance
+static-instance-name
+  static-instance
 temp-tag
   temporary-name
 temporary-var
@@ -2182,6 +2247,7 @@ file-location
   sod:sod-message
   sod:sod-method
   sod:sod-slot
+  sod:static-instance
   character-scanner
   charbuf-scanner-place
   condition-with-location