(sb-pcl::unparse-specializers
(sb-mop:method-specializers object)))))
source))
+ #+sb-eval
+ (sb-eval:interpreted-function
+ (let ((source (translate-source-location
+ (sb-eval:interpreted-function-source-location object))))
+ source))
(function
(cond ((struct-accessor-p object)
(find-definition-source
;;; FIXME: maybe this should be renamed as FUNCTION-LAMBDA-LIST?
(defun function-arglist (function)
"Describe the lambda list for the extended function designator FUNCTION.
-Works for special-operators, macros, simple functions and generic
-functions. Signals error if not found"
+Works for special-operators, macros, simple functions,
+interpreted functions, and generic functions. Signals error if
+not found"
(cond ((valid-function-name-p function)
(function-arglist (or (and (symbolp function)
(macro-function function))
(fdefinition function))))
((typep function 'generic-function)
(sb-pcl::generic-function-pretty-arglist function))
+ #+sb-eval
+ ((typep function 'sb-eval:interpreted-function)
+ (sb-eval:interpreted-function-lambda-list function))
(t (sb-impl::%simple-fun-arglist
(sb-impl::%closure-fun function)))))