getMetaData() won't pick up run time method inclusion.
The problem with creating instances of the object is that people can often create dependencies within pseudo constructors and the like - which will fall over when the object is created.
So that sort of implementation really doesn't work.
Maybe some sort of annotation to point to what UDFs are being included?
<component colddoc:mixins="/foo/bar.cfm,/foo/dog.cfm">
That would be ideal. But we could do a <cffile> on the CFC and go hunting for the <cfinclude> or include; statement.
The only issue here is that the cfm page has to be executed to get the meta data of the functions out of it. It depends what code is in there as to whether or not that will actually work.. which is not the best.
It may be better to <cffile> the includes and try and parse them that way.
<cffile> parsing is a pain however, as we have both script and tag syntax now, and I'd like to avoid it wherever possible, as it is rather error prone.
Also fun stuff -
How do you know a .cfm is a mixin? It should probably be listed as a mixin, or something similar in the Class listing box, and have its own detail page.
Then when looking at a class, there should be a section, much like methods that come from super classes, that outlines what methods come from the mixins.
Mark