Newer
Older
#+xcvb (module (:depends-on ("variables")))
(cl:in-package #:asdf-dependency-grovel)
(defclass instrumented-component ()
((translated-name :initarg :translated-name
:reader translated-name)
(translated-pathname :initarg :translated-pathname-form
:reader translated-pathname)
(output-file-type :initarg :output-file-type
:reader output-file-type)
(additional-dependencies :initarg :additional-dependencies
:initform nil
:reader additional-dependencies)
(overridden-dependencies :initarg :override-dependencies
:reader overridden-dependencies)
(additional-initargs :initarg :additional-initargs
:initform nil
:reader additional-initargs)))
(defclass instrumented-cl-source-file (asdf:cl-source-file
instrumented-component)
())
(defclass instrumented-module (asdf:module instrumented-component)
()
(:default-initargs :default-component-class 'instrumented-cl-source-file))
(defmethod additional-initargs :around ((comp instrumented-component))
(flet ((slot-when-bound (slot-name initarg)
(when (slot-boundp comp slot-name)
`(,initarg ,(slot-value comp slot-name)))))
`(,@(call-next-method)
,@(slot-when-bound 'translated-name :translated-name)
,@(slot-when-bound 'translated-pathname :translated-pathname-form))))