in src/main/java/com/intellij/rt/debugger/agent/CollectionBreakpointInstrumentor.java [521:547]
public MethodVisitor visitMethod(final int access,
final String name,
final String desc,
final String signature,
final String[] exceptions) {
MethodVisitor mv = super.visitMethod(access, name, desc, signature, exceptions);
boolean isBridgeMethod = (access & Opcodes.ACC_BRIDGE) != 0;
if (!isBridgeMethod && name != null && desc != null) {
if (myClassesToTransform.contains(myClsName)) {
mv = new CaptureFieldsMethodVisitor(api, mv);
}
boolean isNonStaticMethod = (access & Opcodes.ACC_STATIC) == 0;
boolean isNonSynthetic = (access & Opcodes.ACC_SYNTHETIC) == 0;
boolean isConstructor = name.equals(CONSTRUCTOR_METHOD_NAME);
if (isNonStaticMethod && isNonSynthetic && !isConstructor &&
myCollectionsToTransform.containsKey(myClsName)) {
CollectionMethodVisitor collectionMethodVisitor = new CollectionMethodVisitor(api, access, name, desc, mv);
mv = new TryCatchAdapter(api, access, name, desc, signature, exceptions, collectionMethodVisitor);
}
}
return mv;
}