Class Debugger::FinishCommand
In: cli/ruby-debug/commands/finish.rb
Parent: Command

Implements the debugger ‘finish’ command.

Methods

execute   help   help_command   regexp  

Public Class methods

[Source]

    # File cli/ruby-debug/commands/finish.rb, line 29
29:       def help(cmd)
30:         %{
31:           fin[ish] [frame-number]\tExecute until selected stack frame returns.
32: 
33: If no frame number is given, we run until the currently selected frame
34: returns.  The currently selected frame starts out the most-recent
35: frame or 0 if no frame positioning (e.g "up", "down" or "frame") has
36: been performed. If a frame number is given we run until that frame
37: returns.
38:         }
39:       end

[Source]

    # File cli/ruby-debug/commands/finish.rb, line 25
25:       def help_command
26:         'finish'
27:       end

Public Instance methods

[Source]

    # File cli/ruby-debug/commands/finish.rb, line 11
11:     def execute
12:       max_frame = @state.context.stack_size - @state.frame_pos
13:       if !@match[1] or @match[1].empty?
14:         frame_pos = @state.frame_pos
15:       else
16:         frame_pos = get_int(@match[1], "Finish", 0, max_frame-1, 0)
17:         return nil unless frame_pos
18:       end
19:       @state.context.stop_frame = frame_pos
20:       @state.frame_pos = 0
21:       @state.proceed
22:     end

[Source]

   # File cli/ruby-debug/commands/finish.rb, line 7
7:     def regexp
8:       /^\s*fin(?:ish)? (?:\s+(.*))?$/x
9:     end

[Validate]