> Questions: why isn't this more like injecting an include file into a > class's > source code? Why rename the base class and add more classes to the mix? >
In the case of a Mixin that would be entirely valid. When implementing interceptors things get more complicated though. Its true that all of the interceptor method bodies could be merged into the original method, it would just make the weaving more complicated. It is avenue worth exploring though. > > FWIW, my understanding of Falcon is that each class source file is a > compilation unit and compilation units are parsed in separate threads. > Therefore there is no actual point where all ASTs are sitting around. I > can > see a callback when the ASTs for a individual compilation unit is ready to > be reduced, but I don't know if you can or want to synchronize all AST > generation across all compilation units. > Ok, that might throw a spanner in the works. But I'm not sure if we really need an AST for the entire code base, as long as we can resolve references it ought be ok. I think we can make it work on a per-compilation-unit basis to be honest.