blob: cbd6504d3a924bda364cce66ed36bb48a87e2789 [file] [log] [blame]
require 'common/Logger'
require 'debugger/AbstractBreakpointManager'
require 'fast/FastLineBreakpoint'
module XoredDebugger
class FastBreakpointManager < AbstractBreakpointManager
include Logger
def initialize()
super()
end
def add_line_breakpoint_impl(id, file, line, temporary = false)
rawBp = Debugger.add_breakpoint(file, line)
FastLineBreakpoint.new(id, rawBp, temporary)
end
def remove_line_breakpoint_impl(bp)
rawBp = bp.raw_bp
Debugger.remove_breakpoint(rawBp.id)
end
def check_line_breakpoint(raw_id)
breakpoints.each() do |bp|
if ((bp.is_a? FastLineBreakpoint) && (bp.raw_bp.id.equal?(raw_id)))
if (bp.temporary)
remove_breakpoint(bp.breakpoint_id)
end
return bp
end
end
return nil
end
end
end