src/method-{proto,impl}.lisp: Introduce `effective-method-live-p' protocol.
[sod] / doc / SYMBOLS
index 5951fd5..06e2002 100644 (file)
@@ -17,16 +17,45 @@ c-types-class-impl.lisp
 c-types-impl.lisp
   cl:*                                          variable function c-type
   cl:array                                      class c-type
+  bool                                          c-type
   c-array-dimensions                            generic
   c-array-type                                  class
   c-enum-type                                   class
   c-function-arguments                          generic
+  c-function-keywords                           generic
   c-function-type                               class
+  c-keyword-function-type                       class
   c-pointer-type                                class
   c-struct-type                                 class
   c-tagged-type-kind                            generic
+  c-type-bool                                   variable
+  c-type-char                                   variable
+  c-type-double                                 variable
+  c-type-double-complex                         variable
+  c-type-double-imaginary                       variable
+  c-type-float                                  variable
+  c-type-float-complex                          variable
+  c-type-float-imaginary                        variable
+  c-type-int                                    variable
+  c-type-long                                   variable
+  c-type-long-double                            variable
+  c-type-long-double-complex                    variable
+  c-type-long-double-imaginary                  variable
+  c-type-long-long                              variable
   c-type-name                                   generic
+  c-type-ptrdiff-t                              variable
+  c-type-short                                  variable
+  c-type-signed-char                            variable
+  c-type-size-t                                 variable
   c-type-tag                                    generic
+  c-type-unsigned                               variable
+  c-type-unsigned-char                          variable
+  c-type-unsigned-long                          variable
+  c-type-unsigned-long-long                     variable
+  c-type-unsigned-short                         variable
+  c-type-va-list                                variable
+  c-type-void                                   variable
+  c-type-wchar-t                                variable
   c-union-type                                  class
   cl:char                                       function setf c-type parser
   commentify-argument-names                     function
@@ -34,8 +63,12 @@ c-types-impl.lisp
   const-string                                  c-type
   define-simple-c-type                          macro
   double                                        c-type
+  double-complex                                c-type
+  double-imaginary                              c-type
   enum                                          c-type
   cl:float                                      function class c-type
+  float-complex                                 c-type
+  float-imaginary                               c-type
   fn                                            c-type
   fun                                           c-type
   func                                          c-type
@@ -45,6 +78,8 @@ c-types-impl.lisp
   llong                                         c-type
   long                                          c-type
   long-double                                   c-type
+  long-double-complex                           c-type
+  long-double-imaginary                         c-type
   long-int                                      c-type
   long-long                                     c-type
   long-long-int                                 c-type
@@ -52,14 +87,19 @@ c-types-impl.lisp
   make-c-tagged-type                            function
   make-enum-type                                function
   make-function-type                            function
+  make-keyword-function-type                    function
   make-pointer-type                             function
   make-simple-type                              function
   make-struct-type                              function
   make-union-type                               function
+  merge-keyword-lists                           function
   cl:nil                                        constant c-type parser
   pointer                                       c-type
+  pprint-argument-list                          function
+  pprint-c-function-type                        function
   ptr                                           c-type
   ptrdiff-t                                     c-type
+  reify-variable-argument-tail                  function
   cl:schar                                      function setf c-type
   short                                         c-type
   short-int                                     c-type
@@ -99,6 +139,7 @@ c-types-impl.lisp
   va-list                                       c-type
   vec                                           c-type
   void                                          c-type
+  wchar-t                                       c-type
   []                                            c-type
 
 c-types-parse.lisp
@@ -107,8 +148,9 @@ c-types-parse.lisp
 
 c-types-proto.lisp
   argument                                      class
-  argument-name                                 function setf
-  argument-type                                 function setf
+  argument-default                              function
+  argument-name                                 function
+  argument-type                                 function
   argumentp                                     function
   c-name-case                                   function
   c-type                                        macro class
@@ -144,6 +186,7 @@ class-finalize-proto.lisp
   compute-chains                                generic
   compute-cpl                                   generic
   finalize-sod-class                            generic
+  guess-metaclass                               generic
 
 class-layout-impl.lisp
   sod-class-effective-slot                      class
@@ -207,11 +250,14 @@ class-layout-proto.lisp
   vtmsgs-entries                                generic
   vtmsgs-subclass                               generic
 
+class-make-impl.lisp
+  check-method-argument-lists                   function
+  check-method-return-type                      function
+  check-method-return-type-against-message      function
+
 class-make-proto.lisp
   check-message-type                            generic
   check-method-type                             generic
-  define-sod-class                              macro
-  guess-metaclass                               generic
   make-sod-class                                function
   make-sod-class-initializer                    generic
   make-sod-initializer-using-slot               generic
@@ -222,6 +268,9 @@ class-make-proto.lisp
   make-sod-slot                                 generic
   sod-message-method-class                      generic
 
+class-output.lisp
+  *instance-class*                              variable
+
 class-utilities.lisp
   argument-lists-compatible-p                   function
   find-class-slot-by-name                       function
@@ -266,8 +315,7 @@ classes.lisp
   sod-initializer                               class
   sod-initializer-class                         generic
   sod-initializer-slot                          generic
-  sod-initializer-value-form                    generic
-  sod-initializer-value-kind                    generic
+  sod-initializer-value                         generic
   sod-instance-initializer                      class
   sod-message                                   class
   sod-message-class                             generic
@@ -284,40 +332,19 @@ classes.lisp
   sod-slot-type                                 generic
 
 codegen-impl.lisp
-  call-inst                                     class
   codegen                                       class
-  do-while-inst                                 class
-  if-inst                                       class
-  inst-alt                                      generic
-  inst-ap                                       generic
-  inst-arg                                      generic
-  inst-args                                     generic
-  inst-body                                     generic
-  inst-cond                                     generic
-  inst-conseq                                   generic
-  inst-from                                     generic
-  inst-func                                     generic
-  inst-to                                       generic
-  make-call-inst                                function
-  make-do-while-inst                            function
-  make-if-inst                                  function
-  make-va-copy-inst                             function
-  make-va-end-inst                              function
-  make-va-start-inst                            function
-  make-while-inst                               function
   temporary-argument                            class
   temporary-function                            function class
   temporary-variable                            class
-  va-copy-inst                                  class
-  va-end-inst                                   class
-  va-start-inst                                 class
-  while-inst                                    class
 
 codegen-proto.lisp
+  *null-pointer*                                variable
   *sod-ap*                                      variable
   *sod-master-ap*                               variable
+  banner-inst                                   class
   block-inst                                    class
   break-inst                                    class
+  call-inst                                     class
   codegen-add-function                          generic
   codegen-build-function                        function
   codegen-functions                             generic setf
@@ -325,38 +352,61 @@ codegen-proto.lisp
   codegen-pop-block                             generic
   codegen-pop-function                          generic
   codegen-push                                  generic
+  cond-inst                                     class
   continue-inst                                 class
   convert-stmts                                 function
   definst                                       macro
+  deliver-call                                  function
   deliver-expr                                  function
+  do-while-inst                                 class
+  emit-banner                                   function
   emit-decl                                     generic
   emit-decls                                    generic
   emit-inst                                     generic
   emit-insts                                    generic
   ensure-var                                    generic
   expr-inst                                     class
+  for-inst                                      class
+  format-banner-comment                         function
   format-compound-statement                     macro
   format-temporary-name                         generic
   function-inst                                 class
+  if-inst                                       class
   inst                                          class
+  inst-alt                                      generic
+  inst-args                                     generic
+  inst-banner                                   generic
+  inst-banner-args                              generic
   inst-body                                     generic
+  inst-cond                                     generic
+  inst-conseq                                   generic
+  inst-control                                  generic
   inst-decls                                    generic
   inst-expr                                     generic
+  inst-func                                     generic
   inst-init                                     generic
   inst-metric                                   generic
   inst-name                                     generic
   inst-op                                       generic
   inst-type                                     generic
+  inst-update                                   generic
   inst-var                                      generic
+  make-banner-inst                              function
   make-block-inst                               function
   make-break-inst                               function
+  make-call-inst                                function
+  make-cond-inst                                function
   make-continue-inst                            function
+  make-do-while-inst                            function
   make-expr-inst                                function
+  make-for-inst                                 function
   make-function-inst                            function
+  make-if-inst                                  function
   make-return-inst                              function
   make-set-inst                                 function
   make-update-inst                              function
   make-var-inst                                 function
+  make-while-inst                               function
   return-inst                                   class
   set-inst                                      class
   temp-tag                                      generic
@@ -365,6 +415,7 @@ codegen-proto.lisp
   update-inst                                   class
   var-in-use-p                                  generic setf
   var-inst                                      class
+  while-inst                                    class
   with-temporary-var                            macro
 
 final.lisp
@@ -372,6 +423,7 @@ final.lisp
   *sod-version*                                 variable
   exercise                                      function
   test-module                                   function
+  test-parser                                   macro
 
 fragment-parse.lisp
   parse-delimited-fragment                      function
@@ -426,6 +478,8 @@ method-proto.lisp
   effective-method-basic-argument-names         generic
   effective-method-class                        generic
   effective-method-function-name                generic
+  effective-method-keywords                     generic
+  effective-method-live-p                       generic
   effective-method-message                      generic
   ensure-ilayout-var                            function
   inst-chain-head                               generic
@@ -433,6 +487,7 @@ method-proto.lisp
   inst-expr                                     generic
   invoke-delegation-chain                       function
   invoke-method                                 function
+  keyword-message-p                             function
   make-convert-to-ilayout-inst                  function
   make-method-entries                           generic
   make-trampoline                               function
@@ -448,7 +503,6 @@ method-proto.lisp
   simple-method-body                            generic
   sod-message-argument-tail                     generic
   sod-message-effective-method-class            generic
-  sod-message-no-varargs-tail                   generic
   sod-method-function-name                      generic
   sod-method-function-type                      generic
   sod-method-next-method-type                   generic
@@ -457,7 +511,7 @@ method-proto.lisp
 module-impl.lisp
   *module-dirs*                                 variable
   c-fragment                                    class
-  c-fragment-text                               generic setf
+  c-fragment-text                               generic
   code-fragment                                 generic
   code-fragment-constraints                     generic
   code-fragment-item                            class
@@ -470,6 +524,7 @@ module-output.lisp
   banner                                        function
   declare-output-type                           function
   guard-name                                    function
+  one-off-output                                function
   output-module                                 function
   output-type-pathname                          function
 
@@ -524,11 +579,11 @@ pset-proto.lisp
   make-property                                 function
   make-property-set                             function
   make-pset                                     function
-  p-key                                         function setf
-  p-name                                        function setf
+  p-key                                         function
+  p-name                                        function
   p-seenp                                       function setf
-  p-type                                        function setf
-  p-value                                       function setf
+  p-type                                        function
+  p-value                                       function
   property                                      class
   property-key                                  function
   property-set                                  generic
@@ -541,19 +596,6 @@ pset-proto.lisp
   store-property                                function
   with-pset-iterator                            macro
 
-Leaked slot names: #:func, #:class, #:expr, #:cond, #:expr, #:type, #:cond, #:expr, #:expr, #:expr, #:type, #:cond
-  call-inst: #:func
-  convert-to-ilayout-inst: #:class, #:expr
-  do-while-inst: #:cond
-  expr-inst: #:expr
-  function-inst: #:type
-  if-inst: #:cond
-  return-inst: #:expr
-  set-inst: #:expr
-  update-inst: #:expr
-  var-inst: #:type
-  while-inst: #:cond
-
 Classes:
 cl:t
   sb-pcl::slot-object
@@ -566,6 +608,7 @@ cl:t
       c-type
         c-array-type
         c-function-type
+          c-keyword-function-type
         qualifiable-c-type
           c-pointer-type
           simple-c-type
@@ -589,21 +632,21 @@ cl:t
       ichain
       ilayout
       inst
+        banner-inst
         block-inst
         break-inst
         call-inst
+        cond-inst
         continue-inst
         convert-to-ilayout-inst
         do-while-inst
         expr-inst
+        for-inst
         function-inst
         if-inst
         return-inst
         set-inst
         update-inst
-        va-copy-inst
-        va-end-inst
-        va-start-inst
         var-inst
         while-inst
       islots
@@ -666,9 +709,10 @@ c-array-dimensions
   c-array-type
 c-fragment-text
   c-fragment
-(setf c-fragment-text)
 c-function-arguments
   c-function-type
+c-function-keywords
+  c-keyword-function-type
 c-tagged-type-kind
   c-enum-type
   c-struct-type
@@ -682,6 +726,7 @@ c-type-equal-p
   c-array-type c-array-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
   qualifiable-c-type qualifiable-c-type
   simple-c-type simple-c-type
@@ -704,8 +749,6 @@ chain-offset-target-head
   chain-offset
 check-aggregating-message-type
   t t t
-  aggregating-message (eql :and) c-function-type
-  aggregating-message (eql :or) c-function-type
   aggregating-message (eql :progn) c-function-type
 check-message-type
   aggregating-message t
@@ -713,6 +756,7 @@ check-message-type
   sod-message c-type
 check-method-type
   daemon-direct-method sod-message c-function-type
+  sod-method aggregating-message c-function-type
   sod-method sod-message c-function-type
   sod-method sod-message c-type
 check-sod-class
@@ -758,6 +802,7 @@ codegen-target
 coerce-property-value
   cl:string (eql :id) (eql :keyword)
   cl:string (eql :id) (eql :symbol)
+  cl:string (eql :id) (eql :type)
   cl:string (eql :string) (eql :id)
   cl:string (eql :string) (eql :keyword)
   cl:string (eql :string) (eql :symbol)
@@ -783,6 +828,7 @@ compute-chains
 compute-cpl
   sod-class
 compute-effective-method-body
+  basic-effective-method t t
   simple-effective-method t t
 compute-effective-methods
   sod-class
@@ -797,6 +843,7 @@ compute-islots
   sod-class sod-class
 compute-method-entry-functions
   basic-effective-method
+  effective-method
   simple-effective-method
 compute-sod-effective-method
   sod-message sod-class
@@ -815,6 +862,7 @@ decode-property
   cl:integer
   cl:string
   cl:symbol
+  c-type
   property
 effective-method-after-methods
   basic-effective-method
@@ -828,6 +876,10 @@ effective-method-class
   effective-method
 effective-method-function-name
   effective-method
+effective-method-keywords
+  effective-method
+effective-method-live-p
+  simple-effective-method
 effective-method-message
   effective-method
 effective-slot-class
@@ -858,14 +910,21 @@ expand-c-type-form
   (eql cl:function) t
   (eql cl:nil) t
   (eql cl:union) t
+  (eql bool) t
   (eql double) t
+  (eql double-complex) t
+  (eql double-imaginary) t
   (eql enum) t
+  (eql float-complex) t
+  (eql float-imaginary) t
   (eql fn) t
   (eql fun) t
   (eql func) t
   (eql int) t
   (eql long) t
   (eql long-double) t
+  (eql long-double-complex) t
+  (eql long-double-imaginary) t
   (eql long-long) t
   (eql pointer) t
   (eql ptr) t
@@ -882,6 +941,7 @@ expand-c-type-form
   (eql va-list) t
   (eql vec) t
   (eql void) t
+  (eql wchar-t) t
   (eql []) t
   (eql sod-parser:lisp) t
   cl:string t
@@ -890,12 +950,19 @@ expand-c-type-spec
   (eql cl:float)
   (eql cl:schar)
   (eql cl:string)
+  (eql bool)
   (eql const-string)
   (eql double)
+  (eql double-complex)
+  (eql double-imaginary)
+  (eql float-complex)
+  (eql float-imaginary)
   (eql int)
   (eql llong)
   (eql long)
   (eql long-double)
+  (eql long-double-complex)
+  (eql long-double-imaginary)
   (eql long-int)
   (eql long-long)
   (eql long-long-int)
@@ -932,6 +999,7 @@ expand-c-type-spec
   (eql ushort)
   (eql va-list)
   (eql void)
+  (eql wchar-t)
   cl:list
   cl:string
 sod-parser:file-location
@@ -1010,17 +1078,19 @@ ilayout-class
 ilayout-ichains
   ilayout
 inst-alt
+  cond-inst
   if-inst
-inst-ap
-  va-end-inst
-  va-start-inst
-inst-arg
-  va-start-inst
 inst-args
+  banner-inst
   call-inst
+inst-banner
+  function-inst
+inst-banner-args
+  function-inst
 inst-body
   block-inst
   do-while-inst
+  for-inst
   function-inst
   while-inst
 inst-chain-head
@@ -1028,11 +1098,16 @@ inst-chain-head
 inst-class
   convert-to-ilayout-inst
 inst-cond
+  cond-inst
   do-while-inst
+  for-inst
   if-inst
   while-inst
 inst-conseq
+  cond-inst
   if-inst
+inst-control
+  banner-inst
 inst-decls
   block-inst
 inst-expr
@@ -1041,31 +1116,30 @@ inst-expr
   return-inst
   set-inst
   update-inst
-inst-from
-  va-copy-inst
 inst-func
   call-inst
 inst-init
+  for-inst
   var-inst
 inst-metric
   cl:list
   cl:null
   t
+  banner-inst
   block-inst
   break-inst
   call-inst
+  cond-inst
   continue-inst
   convert-to-ilayout-inst
   do-while-inst
   expr-inst
+  for-inst
   function-inst
   if-inst
   return-inst
   set-inst
   update-inst
-  va-copy-inst
-  va-end-inst
-  va-start-inst
   var-inst
   while-inst
 inst-name
@@ -1073,11 +1147,11 @@ inst-name
   var-inst
 inst-op
   update-inst
-inst-to
-  va-copy-inst
 inst-type
   function-inst
   var-inst
+inst-update
+  for-inst
 inst-var
   set-inst
   update-inst
@@ -1104,11 +1178,11 @@ make-method-entries
 sod-parser:make-scanner-stream
   sod-token-scanner
 make-sod-class-initializer
-  sod-class t t t t t
+  sod-class t t t t
 make-sod-initializer-using-slot
-  sod-class sod-slot t t t t t
+  sod-class sod-slot t t t t
 make-sod-instance-initializer
-  sod-class t t t t t
+  sod-class t t t t
 make-sod-message
   sod-class t t t
 make-sod-method
@@ -1150,6 +1224,7 @@ pprint-c-type
   t t t
   c-array-type t t
   c-function-type t t
+  c-keyword-function-type t t
   c-pointer-type t t
   simple-c-type t t
   tagged-c-type t t
@@ -1164,6 +1239,7 @@ print-c-type
   t simple-c-type
   t tagged-c-type
 cl:print-object
+  banner-inst t
   base-offset t
   block-inst t
   break-inst t
@@ -1172,12 +1248,14 @@ cl:print-object
   call-inst t
   chain-offset t
   class-pointer t
+  cond-inst t
   continue-inst t
   convert-to-ilayout-inst t
   do-while-inst t
   effective-method t
   effective-slot t
   expr-inst t
+  for-inst t
   function-inst t
   ichain t
   if-inst t
@@ -1195,9 +1273,6 @@ cl:print-object
   sod-slot t
   temporary-name t
   update-inst t
-  va-copy-inst t
-  va-end-inst t
-  va-start-inst t
   var-inst t
   vtable t
   vtable-pointer t
@@ -1220,8 +1295,11 @@ 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
+  sequencer t
   simple-effective-method t
   sod-class t
   sod-class-slot t
@@ -1238,7 +1316,6 @@ cl:slot-unbound
   t basic-effective-method (eql sod::basic-argument-names)
   t basic-effective-method (eql sod::functions)
   t basic-message (eql sod::argument-tail)
-  t basic-message (eql sod::no-varargs-tail)
   t delegating-direct-method (eql sod::function-type)
   t delegating-direct-method (eql sod::next-method-type)
   t sod-class (eql sod::%ilayout)
@@ -1294,9 +1371,7 @@ sod-initializer-class
   sod-initializer
 sod-initializer-slot
   sod-initializer
-sod-initializer-value-form
-  sod-initializer
-sod-initializer-value-kind
+sod-initializer-value
   sod-initializer
 sod-message-argument-tail
   basic-message
@@ -1315,8 +1390,6 @@ sod-message-method-class
   sod-message sod-class t
 sod-message-name
   sod-message
-sod-message-no-varargs-tail
-  basic-message
 sod-message-type
   sod-message
 sod-method-body
@@ -1992,6 +2065,7 @@ utilities.lisp
   sb-mop:method-specializers                    generic
   once-only                                     macro
   parse-body                                    function
+  print-ugly-stuff                              function
   ref                                           function setf
   symbolicate                                   function
   update-position                               function