Branch Coverage

lib/Perl/PrereqScanner/NotQuiteLite.pm
Criterion Covered Total %
branch 763 930 82.0


line true false branch
111 2 294 if ($delim eq '\\') { }
148 17 11 $rdel ? :
163 2433 18339 unless (exists $LOADED{$parser})
165 0 2433 if (my $error = $@)
166 0 0 unless $parser->can("register")
168 2433 0 $parser->can('register') ? :
170 0 20772 unless my $parser_mapping = $LOADED{$parser}
172 60231 22857 unless exists $parser_mapping->{$type}
176 118183 2086 $type eq 'use' || $type eq 'no' ? :
181 2079 18693 if ($parser->can("register_fqfn"))
202 0 697 unless $list
203 0 701 if ($parser eq ':installed') { }
692 9 elsif ($parser eq ':bundled') { }
5 4 elsif ($parser eq ':default') { }
1 3 elsif ($parser =~ s/^\+//) { }
1 2 elsif ($parser =~ s/^\-//) { }
1 1 elsif ($parser =~ /^$class\::Parser::/) { }
226 0 72 if $self->{'verbose'}
227 0 72 unless open my $fh, "<", $file
236 0 697 unless defined $string
240 0 697 if ($self->{'quick'})
242 0 0 if $c->{'file_size'} > 30000
246 0 697 if ($string =~ s/\A(\xef\xbb\xbf)//s)
281 0 706 if $@
282 9 697 if ($c->{'redo'})
290 1 696 if (@{$c->{'stack'};} and not $c->{'quick'})
309 0 0 if (not $saw_moose and $match =~ /^use\s+(?:Mo(?:o|(?:[ou]se))?X?|MooseX::Declare)\b/)
321 1 3088 if (@{$c->{'stack'};} > 90)
329 1 3088 if $c->{'ended'}
350 7471 38860 if ($line_top)
351 10 7461 if ($c1 eq "=")
352 10 0 if ($$rstr =~ /\G($re_pod)/cgsx)
353 0 10 if $wants_doc
358 4116 42205 if ($c1 eq "\n")
366 14663 27542 if ($c1 eq ' ') { }
57 27485 elsif ($c1 eq '_') { }
257 27228 elsif ($c1 eq '#') { }
2590 24638 elsif ($c1 eq ';') { }
3668 20970 elsif ($c1 eq '$') { }
317 20653 elsif ($c1 eq '@') { }
117 20536 elsif ($c1 eq '%') { }
89 20447 elsif ($c1 eq '*') { }
129 20318 elsif ($c1 eq '&') { }
70 20248 elsif ($c1 eq '\\') { }
1267 18981 elsif ($c1 eq '-') { }
436 18545 elsif ($c1 eq '"') { }
859 17686 elsif ($c1 eq q[']) { }
0 17686 elsif ($c1 eq '`') { }
144 17542 elsif ($c1 eq '/') { }
1785 15757 elsif ($c1 eq '{') { }
395 15362 elsif ($c1 eq '[') { }
1486 13876 elsif ($c1 eq '(') { }
1009 12867 elsif ($c1 eq '}') { }
96 12771 elsif ($c1 eq ']') { }
1090 11681 elsif ($c1 eq ')') { }
93 11588 elsif ($c1 eq '<') { }
227 11361 elsif ($c1 eq ':') { }
1706 9655 elsif ($c1 eq '=') { }
54 9601 elsif ($c1 eq '>') { }
134 9467 elsif ($c1 eq '+') { }
93 9374 elsif ($c1 eq '|') { }
4 9370 elsif ($c1 eq '^') { }
51 9319 elsif ($c1 eq '!') { }
2 9317 elsif ($c1 eq '~') { }
1389 7928 elsif ($c1 eq ',') { }
131 7797 elsif ($c1 eq '?') { }
195 7602 elsif ($c1 eq '.') { }
219 7383 elsif ($c1 eq '0') { }
371 1 56 if ($c2 eq "_" and $$rstr =~ /\G(__(?:DATA|END)__\b)(?!\s*=>)/cg)
372 0 1 if ($wants_doc) { }
381 257 0 if ($$rstr =~ /\G($re_comment)/cgs)
382 0 257 if $wants_doc
393 32 3636 if ($c2 eq '#') { }
44 3592 elsif ($c2 eq '$') { }
10 3582 elsif ($c2 eq '{') { }
2 3580 elsif ($c2 eq '*' and $prev_token_type eq 'ARROW') { }
2 3578 elsif ($c2 eq '+' or $c2 eq '-') { }
3576 2 elsif ($$rstr =~ /$g_re_scalar_variable/cg) { }
394 2 30 if (substr($$rstr, $pos + 2, 1) eq '{') { }
14 16 elsif ($$rstr =~ /\G(\$\#(?:$re_namespace))/cg) { }
2 14 elsif ($prev_token_type eq 'ARROW') { }
395 0 2 if ($$rstr =~ /\G(\$\#\{[\w\s]+\})/cg) { }
409 2 0 if ($c3 eq "*")
421 42 2 if ($$rstr =~ /\G(\$(?:\$)+(?:$re_namespace))/cg) { }
430 2 8 if ($$rstr =~ /\G(\$\{[\w\s]+\})/cg) { }
0 8 elsif ($$rstr =~ /\G(\$\{\^[A-Z_]+\})/cg) { }
432 0 2 if ($prev_token_type eq "KEYWORD" and $c->token_expects_fh_or_block_list($prev_token))
438 0 0 if ($token eq "\${^CAPTURE}" or $token eq "\${^CAPTURE_ALL}")
441 0 0 if ($token eq "\${^SAFE_LOCALES}")
449 3 7 if ($parent_scope & 8)
473 118 199 if ($c2 eq '_' and $$rstr =~ /\G\@_\b/cg) { }
37 162 elsif ($c2 eq '{') { }
37 125 elsif ($c2 eq '$') { }
11 114 elsif ($prev_token_type eq 'ARROW') { }
1 113 elsif ($c2 eq '[') { }
2 111 elsif ($c2 eq '+' or $c2 eq '-') { }
111 0 elsif ($$rstr =~ /\G(\@(?:$re_namespace))/cg) { }
477 0 37 if ($$rstr =~ /\G(\@\{[\w\s]+\})/cg) { }
2 35 elsif ($$rstr =~ /\G(\@\{\^[A-Z_]+\})/cg) { }
479 0 0 if ($token eq "\@{^CAPTURE}" or $token eq "\@{^CAPTURE_ALL}")
484 2 0 if ($token eq "\@{^CAPTURE}" or $token eq "\@{^CAPTURE_ALL}")
492 5 32 if ($prev_token_type eq "ARROW")
495 0 37 if ($parent_scope & 8)
500 35 2 if ($$rstr =~ /\G(\@\$(?:$re_namespace))/cg) { }
510 5 6 if ($c2 eq '*') { }
540 42 75 if ($c2 eq '{') { }
1 74 elsif ($c2 eq '=') { }
5 69 elsif ($$rstr =~ /\G(\%\$(?:$re_namespace))/cg) { }
57 12 elsif ($$rstr =~ /\G(\%(?:$re_namespace))/cg) { }
4 8 elsif ($prev_token_type eq 'VARIABLE' or $prev_token_type eq 'EXPR') { }
6 2 elsif ($prev_token_type eq 'ARROW') { }
2 0 elsif ($c2 eq '+' or $c2 eq '-') { }
541 0 42 if ($$rstr =~ /\G(\%\{[\w\s]+\})/cg) { }
2 40 elsif ($$rstr =~ /\G(\%\{\^[A-Z_]+\})/cg) { }
545 2 0 if ($token eq "%{^CAPTURE}" or $token eq "%{^CAPTURE_ALL}")
553 4 38 if ($prev_token_type eq "ARROW")
556 0 42 if ($parent_scope & 8)
575 2 4 if ($c2 eq '*') { }
598 15 74 if ($c2 eq '{') { }
3 71 elsif ($c2 eq '*') { }
2 69 elsif ($c2 eq '=') { }
29 40 elsif ($$rstr =~ /\G(\*(?:$re_namespace))/cg) { }
599 2 13 if ($prev_token_type eq 'ARROW') { }
0 13 elsif ($$rstr =~ /\G(\*\{[\w\s]+\})/cg) { }
606 0 0 if ($prev_token eq "KEYWORD" and $c->token_expects_fh_or_block_list($prev_token))
615 0 13 if ($parent_scope & 8)
620 0 3 if (substr($$rstr, $pos + 2, 1) eq '=') { }
2 1 elsif ($prev_token_type eq 'ARROW') { }
648 58 71 if ($c2 eq '&') { }
0 71 elsif ($c2 eq '=') { }
8 63 elsif ($c2 eq '{') { }
2 61 elsif ($c2 eq '.') { }
48 13 elsif ($$rstr =~ /\G(\&(?:$re_namespace))/cg) { }
3 10 elsif ($$rstr =~ /\G(\&\$(?:$re_namespace))/cg) { }
2 8 elsif ($prev_token_type eq 'ARROW') { }
657 0 8 if ($$rstr =~ /\G(\&\{[\w\s]+\})/cg) { }
664 0 8 if ($parent_scope & 8)
669 1 1 if (substr($$rstr, $pos + 2, 1) eq '=') { }
685 2 0 if ($c2 eq "*")
698 0 70 if ($c2 eq '{') { }
699 0 0 if ($$rstr =~ /\G(\\\{[\w\s]+\})/cg) { }
706 0 0 if ($parent_scope & 8)
717 1103 164 if ($c2 eq '>') { }
4 160 elsif ($c2 eq '-') { }
5 155 elsif ($c2 eq '=') { }
4 151 elsif ($$rstr =~ /\G(\-[ABCMORSTWXbcdefgkloprstuwxz]\b)/cg) { }
720 51 1052 if ($prev_token_type eq "WORD" or $prev_token_type eq "KEYWORD")
742 435 1 if ($$rstr =~ /\G(?:\"($re_str_in_double_quotes)\")/cgs)
747 859 0 if ($$rstr =~ /\G(?:\'($re_str_in_single_quotes)\')/cgs)
752 0 0 if ($$rstr =~ /\G(?:\`($re_str_in_backticks)\`)/cgs)
757 72 3 if ($prev_token_type eq "" or $prev_token_type eq "OP" or $prev_token_type eq "KEYWORD" and $regexp_may_follow{$prev_token})
758 96 1 if (my $regexp = $self->_match_regexp0($c, $rstr, $pos, 'm')) { }
767 0 3 if ($prev_token_type eq "" or not $current_scope & 512 and $prev_token_type eq "WORD" or $prev_token_type eq "KEYWORD" and @keywords and $prev_token eq $keywords[-1] and $regexp_may_follow{$prev_token})
769 0 1 if (my $regexp = $self->_match_regexp0($c, $rstr, $pos)) { }
779 9 39 if ($c2 eq "/")
780 2 7 if (substr($$rstr, $pos + 2, 1) eq '=') { }
792 1 38 if ($c2 eq '=') { }
802 879 906 if ($$rstr =~ /$g_re_hash_shortcut/cg)
804 1 878 if ($current_scope & 2)
806 0 1 ($current_scope | $parent_scope) & 2 ? :
808 8 871 if ($parent_scope & 8)
812 755 116 if ($prev_token_type eq 'ARROW' or $prev_token_type eq 'VARIABLE') { }
82 34 elsif ($waiting_for_a_block) { }
15 19 elsif ($prev_token_type eq 'KEYWORD' and $c->token_expects_fh_or_block_list($prev_token)) { }
817 70 12 if (@keywords and $c->token_expects_block($keywords[0]))
820 3 67 if ($c->token_defines_sub($first_token) and $c->has_callback_for("sub", $first_token))
838 713 193 if (@keywords)
841 672 73 if ($c->token_expects_block($keyword))
843 40 8 if (@tokens and $c->token_defines_sub($keyword) and $c->has_callback_for("sub", $keyword))
853 62 844 if ($parent_scope & 8)
857 35 809 if ($prev_token_type eq 'ARROW' or $prev_token_type eq 'VARIABLE') { }
676 133 elsif ($waiting_for_a_block) { }
862 52 81 ($current_scope | $parent_scope) & 1 ? :
866 208 187 if ($$rstr =~ /\G(\[(?:$re_nonblock_chars)\])/cg) { }
877 101 1385 if ($waiting_for_a_block and @keywords and $c->token_defines_sub($keywords[-1]) and $$rstr =~ /$prototype_re/cg) { }
295 1090 elsif ($$rstr =~ /\G\(((?:$re_nonblock_chars)(?
879 56 45 if ($proto =~ /^\([\\\$\@\%\&\[\]\*;\+]*\)$/) { }
888 54 25 if ($prev_token_type eq "KEYWORD" and @keywords and $keywords[-1] eq $prev_token and not $c->token_expects_expr_block($prev_token))
889 1 53 if ($prev_token eq "eval")
891 0 1 ($current_scope | $parent_scope) & 2 ? :
900 609 481 if (@keywords)
903 215 446 if ($c->token_expects_block($keyword))
930 19 74 if ($c2 eq '<') { }
10 64 elsif ($c2 eq '=') { }
1 63 elsif ($c2 eq '>') { }
12 51 elsif ($$rstr =~ m(\G(<(?: \\. | \w+ | [./-] | \[[^\]]*\] | \{[^\}]*\} | \* | \? | \~ | \$ | )*(?))cgx) { }
931 1 18 if ($$rstr =~ m(\G(<<(?: \\. | \w+ | [./-] | \[[^\]]*\] | \{[^\}]*\} | \* | \? | \~ | \$ | )*(?>))cgx) { }
16 2 elsif ($$rstr =~ /\G<<~?\s*(?: \\?[A-Za-z_][\w]* | "(?:[^\\"]*(?:\\.[^\\"]*)*)" | '(?:[^\\']*(?:\\.[^\\']*)*)' | `(?:[^\\`]*(?:\\.[^\\`]*)*)` )/sx) { }
951 14 2 if (my $heredoc = $self->_match_heredoc($c, $rstr)) { }
959 0 4 if (substr($$rstr, $pos + 2, 1) eq '=') { }
969 1 9 if (substr($$rstr, $pos + 2, 1) eq '>') { }
1002 21 206 if ($c2 eq ":")
1007 44 162 if ($waiting_for_a_block and @keywords and $c->token_defines_sub($keywords[-1])) { }
1010 44 31 if (substr($$rstr, $startpos, 1) eq "(")
1016 0 103 if ($c1 eq "\\")
1020 50 53 if ($c1 eq ")")
1023 44 6 unless @nest
1025 6 53 if ($c1 eq "(")
1030 48 5 if $$rstr =~ /\G([^\\()]+)/cg
1036 2 42 if ($token =~ /^:prototype\(/)
1047 600 1106 if ($c2 eq '>') { }
74 1032 elsif ($c2 eq '=') { }
101 931 elsif ($c2 eq '~') { }
1050 19 129 if (@keywords and $prev_token_type eq "KEYWORD" and $keywords[-1] eq $prev_token)
1052 1 18 if (not @keywords and $current_scope & 1)
1073 0 54 if ($c2 eq '>') { }
4 50 elsif ($c2 eq '=') { }
1074 0 0 if (substr($$rstr, $pos + 2, 1) eq '=') { }
1094 19 115 if ($c2 eq '+') { }
40 75 elsif ($c2 eq '=') { }
1095 0 19 if (substr($$rstr, $pos + 2, 1) eq '=') { }
1115 85 8 if ($c2 eq '|') { }
1 7 elsif ($c2 eq '=') { }
2 5 elsif ($c2 eq '.') { }
1116 17 68 if (substr($$rstr, $pos + 2, 1) eq '=') { }
1130 1 1 if (substr($$rstr, $pos + 2, 1) eq '=') { }
1146 0 4 if ($c2 eq '=') { }
2 2 elsif ($c2 eq '.') { }
1151 1 1 if (substr($$rstr, $pos + 2, 1) eq '=') { }
1167 5 46 if ($c2 eq '~') { }
1178 1 1 if ($c2 eq '~') { }
1 0 elsif ($c2 eq '.') { }
1203 20 175 if ($c2 eq '.') { }
26 149 elsif ($c2 eq '=') { }
1204 15 5 if (substr($$rstr, $pos + 2, 1) eq '.') { }
1225 4 215 if ($c2 eq 'x') { }
0 215 elsif ($c2 eq 'b') { }
1226 4 0 if ($$rstr =~ /\G(0x[0-9A-Fa-f_]+)/cg)
1231 0 0 if ($$rstr =~ /\G(0b[01_]+)/cg)
1238 650 7005 if ($$rstr =~ /\G((?:0|[1-9][0-9_]*)(?:\.[0-9][0-9_]*)?)/cg)
1242 9 641 if ($n1 eq '.') { }
0 641 elsif ($n1 eq 'E' or $n1 eq 'e') { }
1243 0 9 if ($$rstr =~ /\G((?:\.[0-9_])+)/cg) { }
7 2 elsif (substr($$rstr, $p, 2) ne '..') { }
1252 0 0 if ($$rstr =~ /\G([Ee][+-]?[0-9]+)/cg)
1257 2 648 if ($prepend)
1259 2 0 if @tokens and $tokens[-1][0] eq $prepend
1260 0 2 if @scope_tokens and $scope_tokens[-1][0] eq $prepend
1265 5425 1059 if ($prev_token_type ne "ARROW" and $prev_token_type ne 'KEYWORD' || !$c->token_expects_word($prev_token))
1266 330 5095 if ($prev_token_type eq "EXPR" or $prev_token_type eq "VARIABLE")
1267 5 325 if ($c1 eq "x")
1268 3 2 if ($$rstr =~ /\G(x\b(?!\s*=>))/cg)
1275 206 5216 if ($c1 eq 'q') { }
637 4579 elsif ($c1 eq 'm') { }
591 3988 elsif ($c1 eq 's') { }
28 3960 elsif ($c1 eq 't') { }
4 3956 elsif ($c1 eq 'y') { }
1277 96 110 if ($$rstr =~ /\G((?:$quotelike_re)\b(?!\s*=>))/cg) { }
92 18 elsif ($$rstr =~ /\G((?:qw)\b(?!\s*=>))/cg) { }
0 18 elsif ($$rstr =~ /\G((?:qx)\b(?!\s*=>))/cg) { }
16 2 elsif ($$rstr =~ /\G(qr\b(?!\s*=>))/cg) { }
1278 96 0 if (my $quotelike = $self->_match_quotelike($c, $rstr, $1)) { }
1286 92 0 if (my $quotelike = $self->_match_quotelike($c, $rstr, $1)) { }
1294 0 0 if (my $quotelike = $self->_match_quotelike($c, $rstr, $1)) { }
1302 16 0 if (my $regexp = $self->_match_regexp($c, $rstr)) { }
1311 31 606 if ($$rstr =~ /\G(m\b(?!\s*=>))/cg)
1312 31 0 if (my $regexp = $self->_match_regexp($c, $rstr)) { }
1321 53 538 if ($$rstr =~ /\G(s\b(?!\s*=>))/cg)
1322 53 0 if (my $regexp = $self->_match_substitute($c, $rstr)) { }
1331 3 25 if ($$rstr =~ /\G(tr\b(?!\s*=>))/cg)
1332 3 0 if (my $trans = $self->_match_transliterate($c, $rstr)) { }
1341 2 2 if ($$rstr =~ /\G(y\b(?!\s*=>))/cg)
1342 2 0 if (my $trans = $self->_match_transliterate($c, $rstr)) { }
1353 5993 716 if ($$rstr =~ /\G(\w+)/cg)
1355 521 5472 if ($prev_token_type eq 'ARROW') { }
3 5469 elsif ($token eq 'CORE') { }
5 5464 elsif ($token eq 'format') { }
3508 1956 elsif ($c->token_is_keyword($token) and $prev_token_type ne 'KEYWORD' || !$c->token_expects_word($prev_token) || $prev_token eq 'sub' && $token eq 'BEGIN') { }
1356 9 512 if $$rstr =~ /\G((?:(?:::|')\w+)+)\b/cg
1361 4 1 if ($$rstr =~ /\G([^=]*?=[ \t]*\n.*?\n\.\n)/cgs)
1368 164 3344 if ($c->token_is_op_keyword($token)) { }
1373 3300 44 unless $token eq "undef"
1376 5 1951 if ($c1 eq "v" and $token =~ /^v(?:0|[1-9][0-9]*)$/)
1377 5 0 if ($$rstr =~ /\G((?:\.[0-9][0-9_]*)+)/cg)
1383 378 1573 if $$rstr =~ /\G((?:(?:::|')\w+)+)\b/cg
1385 49 1902 if ($prepend)
1387 10 39 if @tokens and $tokens[-1][0] eq $prepend
1388 39 10 if @scope_tokens and $scope_tokens[-1][0] eq $prepend
1395 0 716 if ($$rstr =~ /\G([[:cntrl:]]+)/cg)
1399 1 715 if ($$rstr =~ /\G([[:ascii:]]+)/cg)
1400 1 0 if $parent_scope & 4
1406 0 715 if ($$rstr =~ /\G([[:^ascii:]](?:[[:^ascii:]]|\w)*)/cg)
1407 0 0 if (not $c->{'utf8'}) { }
1408 0 0 if $parent_scope & 4
1417 0 715 if ($$rstr =~ /\G(\S+)/cg)
1418 0 0 if $parent_scope & 4
1426 0 45614 if $prev_pos == pos $$rstr
1429 26568 19046 if (defined $token)
1430 5928 20640 if (not $current_scope & 512) { }
3346 17297 elsif ($current_scope & 512 and $current_scope & 256 || $ends_expr{$token} && $token_type eq 'KEYWORD' && $prev_token ne ',' && $prev_token ne '=>') { }
1445 841 25727 if ($parent_scope & 1)
1447 39 802 if ($token eq "-" or $token eq "+")
1451 982 2 if (not $current_scope & 1 and exists $c->{'callback'}{$token} || exists $c->{'keyword'}{$token} || exists $c->{'sub'}{$token} and $token_type ne "METHOD" and not $c->token_expects_word($prev_token))
1454 1091 25477 if ($c->token_expects_block($token))
1457 134 81 if ($current_scope & 2 or $parent_scope & 2 and !@{$c->{'stack'};} || $c->{'stack'}[-1][0] ne '{')
1458 32 102 if ($token_type eq 'STRING') { }
1 101 elsif ($token_desc eq 'HEREDOC') { }
8 93 elsif ($token_type eq 'VARIABLE') { }
1459 20 12 if ($token->[0] =~ /\b(?:(?:use|no)\s+[A-Za-z]|require\s+(?:q[qw]?.|['"])?[A-Za-z])/)
1461 20 0 if (defined $eval_string and $eval_string ne "")
1476 1 0 if ($token->[0] =~ /\b(?:use|require|no)\s+[A-Za-z]/)
1478 1 0 if (defined $eval_string and $eval_string ne "")
1495 104 30 ($current_scope | $parent_scope) & 2 ? :
1497 51 26517 if ($token eq "eval")
1502 4138 22430 if ($current_scope & 1)
1504 12 4126 if ($token eq "-" or $token eq "+")
1507 11 1038 if ($token_type eq "KEYWORD" and $has_sideff{$token})
1511 2289 24279 if ($stack)
1515 271 2018 if ($token eq "{" and $is_conditional{$stack->[2]})
1521 16 2273 if ($token eq "{" and $current_scope & 2)
1523 0 16 ($current_scope | $parent_scope) & 2 ? :
1525 139 2150 if ($current_scope & 1) { }
36 2114 elsif ($parent_scope & 1) { }
1535 302 187 if ($stack->[0] eq "(" and $prev_token_type eq "KEYWORD" and @keywords and $keywords[-1] eq $prev_token and not $c->token_expects_expr_block($prev_token))
1539 611 102 if ($stack->[0] eq "{" and @keywords and $c->token_expects_block($keywords[0]) and not $c->token_expects_block_list($keywords[-1]))
1540 611 0 unless @tokens and $c->token_defines_sub($keywords[-1]) || $keywords[-1] eq 'eval'
1544 4276 22292 if ($current_scope & 128)
1545 947 3329 if ($current_scope & 1 and @tokens)
1547 46 901 if ($first_token eq "->")
1551 1 45 if ($first_token eq "use" or $first_token eq "no")
1555 44 903 ($current_scope | $parent_scope) & 48 ? :
1556 716 231 if (exists $c->{'callback'}{$first_token})
1561 0 716 if ($c->{'found_unsupported_package'} and not $c->{'quick'})
1568 185 762 if (exists $c->{'keyword'}{$first_token})
1574 18 929 if (exists $c->{'method'}{$first_token} and $caller_package)
1580 11 936 if ($current_scope & 32)
1583 11 47 if $has_sideff{$token->[0]}
1585 2 9 if grep {$has_sideff{$_->[0]};} @tokens
1586 11 0 if (@tokens)
1588 1 10 ($current_scope | $parent_scope) & 48 ? :
1589 0 11 if (exists $c->{'callback'}{$first_token})
1594 1 10 if (exists $c->{'keyword'}{$first_token})
1600 0 11 if (exists $c->{'method'}{$first_token} and $caller_package)
1616 2193 24375 if ($unstack and @{$c->{'stack'};})
1619 0 2193 if ($unstack eq "}" and $stacked_type ne "{" or $unstack eq "]" and $stacked_type ne "[" or $unstack eq ")" and $stacked_type ne "(")
1633 2266 24302 if $current_scope & 64
1634 105 24197 if $c->{'ended'}
1635 0 24197 if $c->{'last_found_by_skimming'} and $c->{'last_found_by_skimming'} < pos $$rstr
1640 0 43243 if (@{$c->{'errors'};} and not $parent_scope & 4)
1642 0 0 if $rest
1647 40 3048 if (@tokens)
1648 40 0 if (my $first_token = $tokens[0][0])
1649 28 12 if (exists $c->{'callback'}{$first_token})
1652 9 31 if (exists $c->{'keyword'}{$first_token})
1671 0 188 unless ($$rstr =~ /\G(\S)/cg)
1677 135 53 if ($ldel =~ /[[(<{]/) { }
1683 28 332 if ($c1 eq "\\")
1687 15 317 if ($c1 eq $ldel)
1692 150 167 if ($c1 eq $rdel)
1695 135 15 unless @nest
1698 167 0 if $$rstr =~ /\G$re_skip/cg
1701 0 135 if @nest
1704 0 53 unless $$rstr =~ /\G$re/cgs
1717 50 1 $token_type ? :
1 97 unless $$rstr =~ /\G$re_shortcut/cgs or defined $self->_scan_re($c, $rstr, "/", "/", $token_type ? "m" : "")
1726 1 96 if ($re =~ /\n/s and not $mod =~ /x/)
1740 0 47 unless ($$rstr =~ /\G(\S)/cg)
1745 27 20 if ($ldel =~ /[[(<{]/)
1750 0 47 unless $$rstr =~ /\G$re_shortcut/cgs or defined $self->_scan_re($c, $rstr, $ldel, $rdel, "m/qr")
1768 0 53 unless ($$rstr =~ /\G(\S)/cg)
1773 22 31 if ($ldel1 =~ /[[(<{]/)
1778 0 53 unless $ldel1 ne "\\" and $$rstr =~ /\G$re_shortcut/cgs or defined $self->_scan_re($c, $rstr, $ldel1, $rdel1, "s")
1780 0 53 unless defined $self->_scan_re2($c, $rstr, $ldel1, "s")
1795 0 5 unless ($$rstr =~ /\G(\S)/cg)
1801 1 4 if ($ldel1 =~ /[[(<{]/) { }
1804 0 1 unless $$rstr =~ /\G$re/cgs
1806 0 1 unless ($$rstr =~ /\G\s*(\S)/cg)
1812 0 4 unless $$rstr =~ /\G$re/cgs
1816 1 4 if ($ldel2 =~ /[[(<{]/) { }
1819 0 1 unless $$rstr =~ /\G$re/cgs
1822 0 4 unless $$rstr =~ /\G$re/cgs
1837 1 15 $1 ? :
1840 8 8 if ($$rstr =~ /\G\\?([A-Za-z_]\w*)/cg) { }
8 0 elsif ($$rstr =~ / \G ' ($re_str_in_single_quotes) ' | \G " ($re_str_in_double_quotes) " | \G ` ($re_str_in_backticks) ` /cgsx) { }
1855 2 14 unless ($$rstr =~ /\G.*?\n$indent(?=\Q$label\E\n)/cgs)
1869 1 13 if ($indent)
1882 110 16 if (@{$c->{'stack'};})
1893 271 4782 if ($c1 eq "\n")
1900 696 4086 if ($c1 eq " " or $c1 eq "\t")
1905 144 3942 if ($c1 eq "#" and $rdel ne "#")
1906 94 50 if ($multiline and $$rstr =~ /\G(#[^\Q$rdel\E]*?)\n/cgs) { }
1916 416 3526 if ($c1 eq "\\" and $rdel ne "\\")
1917 416 0 if ($$rstr =~ /\G(\\.)/cgs)
1925 197 3329 if ($c1 eq "[")
1927 0 197 if ($$rstr =~ /\G(\[\[:\w+?:\]\])/cgs)
1931 59 138 if ($$rstr =~ /\G(\[[^\\\]]]*?(\\.[^\\\]]]*)*\])/cgs)
1937 156 3311 if ($c1 eq $rdel) { }
30 3281 elsif ($c1 eq $ldel) { }
1939 39 117 if ($saw_sharp)
1941 3 36 if ($op eq "s")
1944 0 3 unless (defined $latter)
1950 2 37 if ($$rstr =~ /\G[a-wyz]*x/)
1958 29 8 if ($multiline)
1964 44 81 if ($ldel ne $rdel)
1968 125 4 if $nested eq $expected
1970 123 2 unless @nesting
1974 28 2 if ($multiline and $saw_sharp) { }
1982 45 3264 if ($c1 eq "{")
1984 4 41 if ($$rstr =~ /\G(\{[0-9]+(?:,(?:[0-9]+)?)?})/cgs)
1990 407 2898 if ($c1 eq "(")
1992 209 198 if ($c2 eq "?" and not $multiline && $saw_sharp)
1994 70 139 if ($$rstr =~ /\G((\()\?+?)(?=\{)/cg)
1997 0 70 unless (eval { do { $self->_scan($c, $rstr, 8); 1 } })
2004 10 129 if ($$rstr =~ /\G(\(\?\#[^\\\)]*(?:\\.[^\\\)]*)*\))/cgs)
2011 327 0 if ($$rstr =~ /\G((\()(?:<[!=]|<\w+?>|>)?)/cg)
2019 3 2895 if ($c1 eq "\$" and substr($$rstr, $p + 1, 1) eq "{")
2021 3 0 if eval { do { $self->_scan($c, $rstr, 8); 1 } }
2026 397 2498 if ($c1 eq ")")
2027 393 4 if (@nesting and $nesting[-1] eq '(') { }
2038 87 2415 unless ($op)
2039 1 86 if ($outer_opening_delimiter and $c1 eq $outer_opening_delimiter)
2045 2 84 if ($outer_closing_delimiter and $c1 eq $outer_closing_delimiter)
2046 1 1 if (@nesting and $nesting[-1] eq $outer_opening_delimiter)
2056 2499 0 if ($$rstr =~ /\G(\w+|.)/cgs)
2062 0 125 if ($#nesting >= 0)
2076 23 33 if ($ldel =~ /[[(<{]/)
2079 0 23 unless ($$rstr =~ /\G\s*(\S)/cg)
2085 23 33 if ($ldel =~ /[[(<{]/) { }
2091 16 152 if ($c1 eq "\\")
2095 25 127 if ($c1 eq $ldel)
2100 48 79 if ($c1 eq $rdel)
2103 23 25 unless @nest
2106 79 0 if $$rstr =~ /\G$re_skip/cg
2109 0 23 if @nest
2112 0 33 unless $$rstr =~ /\G$re/cgs
2126 0 644 unless my $name_token = shift @$tokens
2128 0 644 if not defined $name or ref $name or $name eq ""
2131 3 641 if ($c1 eq 5)
2135 6 635 if ($c1 eq "v")
2137 1 5 if ($c2 eq 5)
2141 0 5 if ($c2 eq 6)
2147 18 622 if ($c->enables_utf8($name))
2150 9 9 unless ($c->{'decoded'})
2159 640 0 if (is_module_name($name))
2162 34 606 if ($maybe_version_token_desc and $maybe_version_token_desc eq 'NUMBER' || $maybe_version_token_desc eq 'VERSION_STRING') { }
2169 5 635 if (exists $sub_keywords{$name})
2173 1 639 if (exists $filter_modules{$name})
2177 0 1 if $redo
2181 307 333 if ($c->has_callback_for('use', $name)) { }
2 331 elsif ($name =~ /\b(?:Mo[ou]se?X?|MooX?|Elk|Antlers|Role)\b/) { }
2183 0 307 if $@
2185 0 2 $name =~ /Role/ ? :
2186 1 1 if ($c->has_callback_for("use", $module))
2188 0 1 if $@
2192 0 640 if (exists $unsupported_packages{$name})
2203 0 69 unless my $name_token = shift @$tokens
2205 7 62 if (ref $name)
2207 2 5 if $name =~ /\.pl$/i
2212 0 67 if not defined $name or $name eq ""
2215 1 66 if ($c1 eq 5)
2219 1 65 if ($c1 eq "v")
2221 1 0 if ($c2 eq 5)
2225 0 0 if ($c2 eq 6)
2231 62 3 if (is_module_name($name))
2243 0 31 unless my $name_token = shift @$tokens
2245 0 31 if not defined $name or ref $name or $name eq ""
2248 1 30 if ($c1 eq 5)
2252 1 29 if ($c1 eq "v")
2254 1 0 if ($c2 eq 5)
2258 0 0 if ($c2 eq 6)
2264 0 29 if ($name eq "utf8")
2268 29 0 if (is_module_name($name))
2271 3 26 if ($maybe_version_token_desc and $maybe_version_token_desc eq 'NUMBER' || $maybe_version_token_desc eq 'VERSION_STRING') { }
2279 2 27 if ($c->has_callback_for("no", $name))
2281 0 2 if $@