(t (best-package-name pkg)))
(or exportp (null pkg)) (symbol-name symbol))))
+(deftype interesting-class ()
+ '(or standard-class
+ structure-class
+ #.(class-name (class-of (find-class 'condition)))))
+
(defun analyse-classes (package)
(setf package (find-package package))
(let ((classes (mapcan (lambda (symbol)
(let ((class (find-class symbol nil)))
(and class
- (typep class '(or standard-class
- structure-class))
+ (typep class 'interesting-class)
(list class))))
(list-exported-symbols package)))
(subs (make-hash-table)))
#'order-specializers
:key #'method-specializers))
(when (gethash method methods)
- (format t "~2T~{~A~^ ~}~%"
+ (format t "~2T~{~A~^ ~}~@[ [~{~(~S~)~^ ~}]~]~%"
(mapcar
(lambda (spec)
(etypecase spec
(if (symbolp obj)
(pretty-symbol-name obj package)
obj))))))
- (method-specializers method))))))))))
+ (method-specializers method))
+ (method-qualifiers method)))))))))
(defun check-slot-names (package)
(setf package (find-package package))
(parser-files (files (by-name sod "parser")))
(utilities (by-name sod "utilities"))
(sod-frontend (asdf:find-system "sod-frontend"))
- (optparse (by-name sod-frontend "optparse"))
+ (optparse (by-name sod "optparse"))
(frontend (by-name sod-frontend "frontend"))
- (sod-files (set-difference (files sod) (list utilities))))
+ (sod-files (set-difference (files sod) (list optparse utilities))))
(report-symbols (mapcar #'file-name sod-files) "SOD")
(report-symbols (mapcar #'file-name (list frontend)) "SOD-FRONTEND")
(report-symbols (mapcar #'file-name parser-files) "SOD-PARSER")