Sha256: 04f6cd9ce8070c0382d85b430e7b32c92cbf9b6ad0697d9d4f0e38ffe8085fce
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
require 'byebug/command' require 'byebug/helpers/parse' module Byebug # # Implements the finish functionality. # # Allows the user to continue execution until certain frames are finished. # class FinishCommand < Command include Helpers::ParseHelper self.allow_in_post_mortem = false def regexp /^\s* fin(?:ish)? (?:\s+(\S+))? \s*$/x end def execute max_frames = @state.context.stack_size - @state.frame if @match[1] n_frames, err = get_int(@match[1], 'finish', 0, max_frames - 1) return errmsg(err) unless n_frames else n_frames = 1 end force = n_frames == 0 ? true : false @state.context.step_out(@state.frame + n_frames, force) @state.frame = 0 @state.proceed end def description <<-EOD fin[ish][ n_frames] Execute until frame returns. If no number is given, we run until the current frame returns. If a number of frames `n_frames` is given, then we run until `n_frames` return from the current position. EOD end end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
sc_core-0.0.7 | test/dummy/vendor/bundle/ruby/2.2.0/gems/byebug-5.0.0/lib/byebug/commands/finish.rb |
byebug-5.0.0 | lib/byebug/commands/finish.rb |