Plaster
New
List
Login
common-lisp
default
phoe
2019.11.22 20:07:10
;; (ql:quickload :filtered-functions) (defgeneric frob (bar) (:generic-function-class filtered-functions:filtered-function)) (defmethod frob (bar)) ;;; expands into (PROGN (EVAL-WHEN (:COMPILE-TOPLEVEL :EXECUTE) (SB-PCL::COMPILE-OR-LOAD-DEFGENERIC 'FROB)) (EVAL-WHEN (:LOAD-TOPLEVEL) (SB-PCL::%DEFMETHOD-EXPANDER FROB NIL (BAR) NIL)) (EVAL-WHEN (:EXECUTE) (SB-PCL::LOAD-DEFMETHOD 'STANDARD-METHOD 'FROB 'NIL (LIST (FIND-CLASS 'T)) '(BAR) (LIST* :FUNCTION (SB-INT:NAMED-LAMBDA (SB-PCL::SLOW-METHOD FROB (T)) (#:ARGS #:NEXT-METHODS &REST #:MORE-ARGS) (DECLARE (IGNORABLE #:ARGS #:NEXT-METHODS #:MORE-ARGS)) (FLET ((CALL-NEXT-METHOD (&REST CLOSER-MOP::ARGS) (IF #:NEXT-METHODS (APPLY (SB-MOP:METHOD-FUNCTION (FIRST #:NEXT-METHODS)) (IF CLOSER-MOP::ARGS CLOSER-MOP::ARGS #:ARGS) (REST #:NEXT-METHODS) #:MORE-ARGS) (APPLY #'NO-NEXT-METHOD (GETF #:MORE-ARGS :GENERIC-FUNCTION) (GETF #:MORE-ARGS :METHOD) (IF CLOSER-MOP::ARGS CLOSER-MOP::ARGS #:ARGS)))) (NEXT-METHOD-P () (NOT (NULL #:NEXT-METHODS)))) (DECLARE (INLINE CALL-NEXT-METHOD NEXT-METHOD-P) (IGNORABLE (FUNCTION CALL-NEXT-METHOD) (FUNCTION NEXT-METHOD-P))) (FLET ((#:METHOD-FUNCTION (BAR) ;; <== unused variable in FLET )) (DECLARE (INLINE #:METHOD-FUNCTION)) (APPLY #'#:METHOD-FUNCTION #:ARGS)))) 'NIL) (SB-C:SOURCE-LOCATION))))
Raw
Annotate
Repaste