Currently doesn't handle calls to non-existent functions, but it does allow you to intercept function calls (before and after). Theoretically, you could extend this to look for calls to non-existent functions and have the AspectJ compiler trap them, but it does assume that you can determine that it doesn't exist at compile time.
Not saying that this is a clean solution, but if you were trying to add said capability onto a static language, it might help to look at how AspectJ goes about it's business of intercepting "messages".