Same as TypeMatcher apart from that hasfield() and has() only check for existence
of field/method/constructor on the class itself, and do not check the superclass.
Strategy to allow for different handling for the pointcut matchers for different types of advisor
This one uses the "default" strategy, used for proxy advisors.