X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/54ea6ee880f52c23279bf58262ca245b531d04b0..refs/heads/mdw/progfmt:/src/module-output.lisp diff --git a/src/module-output.lisp b/src/module-output.lisp index 7895176..21fcadd 100644 --- a/src/module-output.lisp +++ b/src/module-output.lisp @@ -102,13 +102,13 @@ ;;;-------------------------------------------------------------------------- ;;; Output implementation. -(defmethod hook-output progn ((module module) reason sequencer) +(defmethod hook-output :after ((module module) reason sequencer) ;; Ask the module's items to sequence themselves. (dolist (item (module-items module)) (hook-output item reason sequencer))) -(defmethod hook-output progn ((frag code-fragment-item) reason sequencer) +(defmethod hook-output ((frag code-fragment-item) reason sequencer) ;; Output fragments when their reasons are called up. (when (eq reason (code-fragment-reason frag)) @@ -122,7 +122,7 @@ :pretty nil :escape nil)))))) -(defmethod hook-output progn ((module module) (reason (eql :h)) sequencer) +(defmethod hook-output ((module module) (reason (eql :h)) sequencer) (sequence-output (stream sequencer) :constraint @@ -132,6 +132,7 @@ (:includes :start) :includes :early-decls (:includes :end) (:early-user :start) :early-user (:early-user :end) (:classes :start) (:classes :end) + (:static-instances :start) :static-instances (:static-instances :end) (:user :start) :user (:user :end) (:guard :end) :epilogue) @@ -174,13 +175,16 @@ ((:includes :end) (terpri stream)))) -(defmethod hook-output progn ((module module) (reason (eql :c)) sequencer) +(defmethod hook-output ((module module) (reason (eql :c)) sequencer) (sequence-output (stream sequencer) :constraint (:prologue (:includes :start) :includes (:includes :end) (:early-user :start) :early-user (:early-user :end) + (:static-instances :start) + (:static-instances :decls) (:static-instances :gap) + (:static-instances :end) (:classes :start) (:classes :end) (:user :start) :user (:user :end) :epilogue) @@ -266,13 +270,12 @@ ;; filetype case to do that. Make a pathname and inspect it to ;; find out how to do this. - (if (upper-case-p - (char (pathname-type (make-pathname - :type "TEST" - :case :common)) - 0)) - #'string-upcase - #'string-downcase)) + (if (upper-case-p (char (pathname-type (make-pathname + :type "TEST" + :case :common)) + 0)) + #'string-upcase + #'string-downcase)) (outpath (output-type-pathname reason)) (deppath (make-pathname :type (concatenate 'string