public void visitMethodInsn()

in instrumentation/src/com/intellij/rt/coverage/instrumentation/filters/lines/TryWithResourcesLineFilter.java [150:167]


  public void visitMethodInsn(int opcode, String owner, String name, String descriptor, boolean isInterface) {
    mv.visitMethodInsn(opcode, owner, name, descriptor, isInterface);
    if ((opcode == Opcodes.INVOKEINTERFACE || opcode == Opcodes.INVOKEVIRTUAL)
        && "close".equals(name)
        && "()V".equals(descriptor)
        && myState == State.LOAD_RESOURCE) {
      myState = State.CALL_CLOSE;
    } else if (myState == State.LOAD_ADDITIONAL_EXCEPTION
        && opcode == Opcodes.INVOKEVIRTUAL
        && "java/lang/Throwable".equals(owner)
        && "addSuppressed".equals(name)
        && "(Ljava/lang/Throwable;)V".equals(descriptor)) {
      myState = State.CALL_ADD_SUPPRESSED;
    } else {
      setHasInstructions();
      myState = State.INITIAL;
    }
  }