class DEBUGGER__::CheckBreakpoint

def initialize cond:, command: nil, path: nil

def initialize cond:, command: nil, path: nil
  @key = [:check, cond].freeze
  super(cond, command, path)
end

def need_suspend? cond_result

def need_suspend? cond_result
ThreadClient.current.check_bp_fulfillment_map
d_result
ap[self]
lse

p[self] = true
self] = false

def setup

def setup
  @tp = TracePoint.new(:line){|tp|
    next if SESSION.in_subsession? # TODO: Ractor support
    next if ThreadClient.current.management?
    next if skip_path?(tp.path)
    if need_suspend? safe_eval(tp.binding, @cond)
      suspend
    end
  }
end

def to_s

def to_s
  s = "#{generate_label("Check")}"
  s += super
  s
end