set_breakpoint (Debugger::Context)

    /*
     *   call-seq:
     *      context.set_breakpoint(source, pos, condition = nil) -> breakpoint
     *
     *   Sets a context-specific temporary breakpoint, which can be used to implement
     *   'Run to Cursor' debugger function. When this breakpoint is reached, it will be
     *   cleared out.
     *
     *   <i>source</i> is a name of a file or a class.
     *   <i>pos</i> is a line number or a method name if <i>source</i> is a class name.
     *   <i>condition</i> is a string which is evaluated to +true+ when this breakpoint
     *   is activated.
     */
    static VALUE
    context_set_breakpoint(int argc, VALUE *argv, VALUE self)
    {
        VALUE result;
        debug_context_t *debug_context;

        debug_check_started();

        Data_Get_Struct(self, debug_context_t, debug_context);
        result = create_breakpoint_from_args(argc, argv, 0);
        debug_context->breakpoint = result;
        return result;
    }