class Byebug::Context

def at_breakpoint(breakpoint)

def at_breakpoint(breakpoint)
  handler.at_breakpoint(self, breakpoint)
end

def at_catchpoint(excpt)

def at_catchpoint(excpt)
  handler.at_catchpoint(self, excpt)
end

def at_line(file, line)

def at_line(file, line)
  handler.at_line(self, file, line) unless
    defined?(Byebug::BYEBUG_SCRIPT) and
    File.identical?(file, Byebug::BYEBUG_SCRIPT)
end

def at_tracing(file, line)

def at_tracing(file, line)
  handler.at_tracing(self, file, line)
end

def frame_args(frame_no=0)

def frame_args(frame_no=0)
  bind = frame_binding(frame_no)
  return [] unless eval "__method__", bind
  begin
    eval "self.method(__method__).parameters.map{|(attr, mid)| mid}", bind
  rescue NameError => e
    print "(WARNING: retreving args from frame #{frame_no} => " \
          "#{e.class} Exception: #{e.message})\n     "
    return []
  end
end

def handler

def handler
  Byebug.handler or raise 'No interface loaded'
end