Add some extension points for component parsing
Apropos my complaints about package-inferred-system, I decided to make a system class that infers components instead of systems. It's called, creatively enough, asdf-inferred-components.
I imagine it will continue to live outside of ASDF proper (but if there's interest in it, I'm happy to bring it in). However, I found myself wanting a couple more points to intercede in the parsing of systems. This MR adds them. While I held off on exporting them from the ASDF package, I do think they're generally useful and would love to export them (or cleaned versions of them) after using them in practice for a while.
class-for-type
is now a generic function that allows a custom parent-component class to control the mapping of component types (:file
, :module
, etc.) to classes.
I also turned compute-component-children
into a GF (no backward compatibility issues there since the defun
version of it has yet to be released) and moved a bit of the work it did back into parse-component-form
.