public MethodVisitor visitMethod()

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;
    }