public class UseMirroredClasses
extends org.objectweb.asm.ClassVisitor
A general Class Visitor which will take any of the method calls in it's
list and replace them with static calls to another method (the "mirrored"
method) in another class (the "mirrored" class). This method should
take the original object as it's first argument, followed by the rest of
the arguments to the method. The "mirrored" class will not be rewritten,
allowing the "mirrored" method to do whatever modifications are necessary
before calling the original method (if desired). Methods which should be
rewritten are listed in the mirroredMethods map below. Note that our
mirroring process is not robust enough to rewrite methods on subtypes.