src/method-{proto,impl}.lisp: Introduce `effective-method-live-p' protocol.
[sod] / doc / SYMBOLS
index d9587ee..06e2002 100644 (file)
@@ -22,7 +22,9 @@ c-types-impl.lisp
   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
@@ -85,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
@@ -141,6 +148,7 @@ c-types-parse.lisp
 
 c-types-proto.lisp
   argument                                      class
+  argument-default                              function
   argument-name                                 function
   argument-type                                 function
   argumentp                                     function
@@ -178,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
@@ -241,10 +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
-  guess-metaclass                               generic
   make-sod-class                                function
   make-sod-class-initializer                    generic
   make-sod-initializer-using-slot               generic
@@ -302,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
@@ -320,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
@@ -361,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
@@ -401,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
@@ -408,6 +423,7 @@ final.lisp
   *sod-version*                                 variable
   exercise                                      function
   test-module                                   function
+  test-parser                                   macro
 
 fragment-parse.lisp
   parse-delimited-fragment                      function
@@ -462,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
@@ -469,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
@@ -484,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
@@ -506,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
 
@@ -589,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
@@ -612,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
@@ -691,6 +711,8 @@ c-fragment-text
   c-fragment
 c-function-arguments
   c-function-type
+c-function-keywords
+  c-keyword-function-type
 c-tagged-type-kind
   c-enum-type
   c-struct-type
@@ -704,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
@@ -805,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
@@ -819,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
@@ -851,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
@@ -1049,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
@@ -1067,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
@@ -1080,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
@@ -1112,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
@@ -1143,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
@@ -1189,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
@@ -1203,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
@@ -1211,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
@@ -1234,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
@@ -1259,6 +1295,8 @@ 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
@@ -1278,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)
@@ -1334,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
@@ -1355,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