class Rubinius::Debugger::DeferredBreakPoint

Attributes

commands[R]
condition[R]

Public Class Methods

new(debugger, frame, klass, which, name, line=nil, list=nil) click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 99
def initialize(debugger, frame, klass, which, name, line=nil, list=nil)
  @debugger = debugger
  @frame = frame
  @klass_name = klass
  @which = which
  @name = name
  @line = line
  @list = list
  @commands = nil
  @condition = nil
end

Public Instance Methods

delete!() click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 146
def delete!
  if @list
    @list.delete self
  end
end
describe() click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 142
def describe
  "#{descriptor} - unknown location (deferred)"
end
descriptor() click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 113
def descriptor
  "#{@klass_name}#{@which}#{@name}"
end
has_commands?() click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 156
def has_commands?
  !@commands.nil?
end
has_condition?() click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 164
def has_condition?
  !@condition.nil?
end
resolve!() click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 117
def resolve!
  begin
    klass = @frame.run(@klass_name)
  rescue NameError
    return false
  end

  begin
    if @which == "#"
      method = klass.instance_method(@name)
    else
      method = klass.method(@name)
    end
  rescue NameError
    return false
  end

  @debugger.info "Resolved breakpoint for #{@klass_name}#{@which}#{@name}"

  index = @debugger.breakpoints.index(self)
  @debugger.set_breakpoint_method descriptor, method, @line, @condition, @commands, index

  return true
end
set_commands(commands) click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 152
def set_commands(commands)
  @commands = commands
end
set_condition(condition) click to toggle source
# File lib/rubinius/debugger/breakpoint.rb, line 160
def set_condition(condition)
  @condition = condition
end