The basic strategy here is to add a set of instructions at the end of the shadow range that dispatch the advice, and then
return whatever the shadow was going to return anyway.
The PatternParser always creates WildTypePatterns for type patterns in pointcut expressions (apart from *, which is sometimes
directly turned into TypePattern.ANY).