File Coverage

blib/lib/Devel/GDB/Parser/Breakpoint.pm
Criterion Covered Total %
statement 22 26 84.6
branch 2 4 50.0
condition n/a
subroutine 8 8 100.0
pod 0 2 0.0
total 32 40 80.0


line stmt bran cond sub pod time code
1             package Devel::GDB::Parser::Breakpoint;
2              
3             BEGIN {
4 0     1   0 $Devel::GDB::Parser::Breakpoint::VERSION = '0.02';
5             }
6              
7 0     1   0 use strict;
  0         0  
  0         0  
8 1     1   20933 use warnings;
  1         8  
  1         1  
9              
10             require Exporter;
11             our @ISA = qw(Exporter);
12             our @EXPORT = qw(parser_breakpoint);
13              
14 1     1   25 use Devel::GDB::Breakpoint;
  1         4  
  1         2  
15 1     1   52 use Parse::Keyword { parser_breakpoint => \&parser_breakpoint_parser };
  1         864  
  1         758  
16              
17 1     3 0 85 sub parser_breakpoint { 1 };
18              
19             sub parser_breakpoint_parser {
20 1     3 0 864 lex_read_space;
21              
22 1         21166 my $num;
23 1         10 while (my $c = lex_peek) {
24 3 0       14 if ($c =~ /^[0-9]$/) {
25 3         56 $num .= $c;
26 3         3 lex_read(1); # consume
27             } else {
28 3         8 last;
29             }
30             }
31              
32 6 100       25 unless ($num) {
33 3         3 die "syntax error. Usage: parser_breakpoint { }";
34             }
35              
36             # Trigger bp(...)
37 3         10 breakpoint(0+$num);
38              
39 3     3   17 return (sub {}, 0);
  3         5  
40             }
41              
42             1;
43             __END__