Branch Coverage

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


line true false branch
111 2 336 if ($delim eq '\\') { }
148 17 11 $rdel ? :
163 2889 21120 unless (exists $LOADED{$parser})
165 0 2889 if (my $error = $@)
166 0 0 unless $parser->can("register")
168 2889 0 $parser->can('register') ? :
170 0 24009 unless my $parser_mapping = $LOADED{$parser}
172 69693 26343 unless exists $parser_mapping->{$type}
176 134597 2336 $type eq 'use' || $type eq 'no' ? :
181 2325 21684 if ($parser->can("register_fqfn"))
202 0 781 unless $list
203 0 786 if ($parser eq ':installed') { }
774 12 elsif ($parser eq ':bundled') { }
5 7 elsif ($parser eq ':default') { }
1 6 elsif ($parser =~ s/^\+//) { }
1 5 elsif ($parser =~ s/^\-//) { }
1 4 elsif ($parser =~ /^$class\::Parser::/) { }
226 0 83 if $self->{'verbose'}
227 0 83 unless open my $fh, "<", $file
236 0 781 unless defined $string
240 0 781 if ($self->{'quick'})
242 0 0 if $c->{'file_size'} > 30000
246 0 781 if ($string =~ s/\A(\xef\xbb\xbf)//s)
281 0 790 if $@
282 9 781 if ($c->{'redo'})
290 1 780 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 3225 if (@{$c->{'stack'};} > 90)
329 1 3225 if $c->{'ended'}
350 7996 41223 if ($line_top)
351 10 7986 if ($c1 eq "=")
352 10 0 if ($$rstr =~ /\G($re_pod)/cgsx)
353 0 10 if $wants_doc
358 4501 44708 if ($c1 eq "\n")
366 15588 29120 if ($c1 eq ' ') { }
57 29063 elsif ($c1 eq '_') { }
260 28803 elsif ($c1 eq '#') { }
2868 25935 elsif ($c1 eq ';') { }
3828 22107 elsif ($c1 eq '$') { }
321 21786 elsif ($c1 eq '@') { }
117 21669 elsif ($c1 eq '%') { }
89 21580 elsif ($c1 eq '*') { }
129 21451 elsif ($c1 eq '&') { }
70 21381 elsif ($c1 eq '\\') { }
1267 20114 elsif ($c1 eq '-') { }
439 19675 elsif ($c1 eq '"') { }
903 18772 elsif ($c1 eq q[']) { }
0 18772 elsif ($c1 eq '`') { }
144 18628 elsif ($c1 eq '/') { }
1842 16786 elsif ($c1 eq '{') { }
395 16391 elsif ($c1 eq '[') { }
1520 14871 elsif ($c1 eq '(') { }
1061 13810 elsif ($c1 eq '}') { }
96 13714 elsif ($c1 eq ']') { }
1091 12623 elsif ($c1 eq ')') { }
93 12530 elsif ($c1 eq '<') { }
325 12205 elsif ($c1 eq ':') { }
1758 10447 elsif ($c1 eq '=') { }
54 10393 elsif ($c1 eq '>') { }
186 10207 elsif ($c1 eq '+') { }
93 10114 elsif ($c1 eq '|') { }
4 10110 elsif ($c1 eq '^') { }
51 10059 elsif ($c1 eq '!') { }
2 10057 elsif ($c1 eq '~') { }
1390 8667 elsif ($c1 eq ',') { }
131 8536 elsif ($c1 eq '?') { }
190 8346 elsif ($c1 eq '.') { }
271 8075 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 260 0 if ($$rstr =~ /\G($re_comment)/cgs)
382 0 260 if $wants_doc
393 32 3796 if ($c2 eq '#') { }
44 3752 elsif ($c2 eq '$') { }
10 3742 elsif ($c2 eq '{') { }
2 3740 elsif ($c2 eq '*' and $prev_token_type eq 'ARROW') { }
2 3738 elsif ($c2 eq '+' or $c2 eq '-') { }
3736 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 122 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 438 1 if ($$rstr =~ /\G(?:\"($re_str_in_double_quotes)\")/cgs)
747 903 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 884 958 if ($$rstr =~ /$g_re_hash_shortcut/cg)
804 1 883 if ($current_scope & 2)
806 0 1 ($current_scope | $parent_scope) & 2 ? :
808 8 876 if ($parent_scope & 8)
812 755 121 if ($prev_token_type eq 'ARROW' or $prev_token_type eq 'VARIABLE') { }
87 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 75 12 if (@keywords and $c->token_expects_block($keywords[0]))
820 3 72 if ($c->token_defines_sub($first_token) and $c->has_callback_for("sub", $first_token))
838 765 193 if (@keywords)
841 724 77 if ($c->token_expects_block($keyword))
843 66 8 if (@tokens and $c->token_defines_sub($keyword) and $c->has_callback_for("sub", $keyword))
853 62 896 if ($parent_scope & 8)
857 35 861 if ($prev_token_type eq 'ARROW' or $prev_token_type eq 'VARIABLE') { }
728 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 127 1393 if ($waiting_for_a_block and @keywords and $c->token_defines_sub($keywords[-1]) and $$rstr =~ /$prototype_re/cg) { }
302 1091 elsif ($$rstr =~ /\G\(((?:$re_nonblock_chars)(?
879 56 71 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 612 479 if (@keywords)
903 215 449 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 304 if ($c2 eq ":")
1007 88 216 if ($waiting_for_a_block and @keywords and $c->token_defines_sub($keywords[-1])) { }
1010 114 31 if (substr($$rstr, $startpos, 1) eq "(")
1016 0 243 if ($c1 eq "\\")
1020 120 123 if ($c1 eq ")")
1023 114 6 unless @nest
1025 6 123 if ($c1 eq "(")
1030 118 5 if $$rstr =~ /\G([^\\()]+)/cg
1036 2 86 if ($token =~ /^:prototype\(/)
1047 600 1158 if ($c2 eq '>') { }
74 1084 elsif ($c2 eq '=') { }
101 983 elsif ($c2 eq '~') { }
1050 26 129 if (@keywords and $prev_token_type eq "KEYWORD" and $keywords[-1] eq $prev_token)
1052 1 25 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 167 if ($c2 eq '+') { }
92 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 15 175 if ($c2 eq '.') { }
26 149 elsif ($c2 eq '=') { }
1204 10 5 if (substr($$rstr, $pos + 2, 1) eq '.') { }
1225 4 267 if ($c2 eq 'x') { }
0 267 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 738 7661 if ($$rstr =~ /\G((?:0|[1-9][0-9_]*)(?:\.[0-9][0-9_]*)?)/cg)
1242 9 729 if ($n1 eq '.') { }
0 729 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 736 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 5853 1287 if ($prev_token_type ne "ARROW" and $prev_token_type ne 'KEYWORD' || !$c->token_expects_word($prev_token))
1266 331 5522 if ($prev_token_type eq "EXPR" or $prev_token_type eq "VARIABLE")
1267 5 326 if ($c1 eq "x")
1268 3 2 if ($$rstr =~ /\G(x\b(?!\s*=>))/cg)
1275 212 5638 if ($c1 eq 'q') { }
663 4975 elsif ($c1 eq 'm') { }
597 4378 elsif ($c1 eq 's') { }
28 4350 elsif ($c1 eq 't') { }
4 4346 elsif ($c1 eq 'y') { }
1277 96 116 if ($$rstr =~ /\G((?:$quotelike_re)\b(?!\s*=>))/cg) { }
98 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 98 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 632 if ($$rstr =~ /\G(m\b(?!\s*=>))/cg)
1312 31 0 if (my $regexp = $self->_match_regexp($c, $rstr)) { }
1321 53 544 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 6559 800 if ($$rstr =~ /\G(\w+)/cg)
1355 521 6038 if ($prev_token_type eq 'ARROW') { }
3 6035 elsif ($token eq 'CORE') { }
5 6030 elsif ($token eq 'format') { }
3817 2213 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 3653 if ($c->token_is_op_keyword($token)) { }
1372 3609 44 unless $token eq "undef"
1375 5 2208 if ($c1 eq "v" and $token =~ /^v(?:0|[1-9][0-9]*)$/)
1376 5 0 if ($$rstr =~ /\G((?:\.[0-9][0-9_]*)+)/cg)
1382 427 1781 if $$rstr =~ /\G((?:(?:::|')\w+)+)\b/cg
1384 49 2159 if ($prepend)
1386 10 39 if @tokens and $tokens[-1][0] eq $prepend
1387 39 10 if @scope_tokens and $scope_tokens[-1][0] eq $prepend
1394 0 800 if ($$rstr =~ /\G([[:cntrl:]]+)/cg)
1398 1 799 if ($$rstr =~ /\G([[:ascii:]]+)/cg)
1399 1 0 if $parent_scope & 4
1405 0 799 if ($$rstr =~ /\G([[:^ascii:]](?:[[:^ascii:]]|\w)*)/cg)
1406 0 0 if (not $c->{'utf8'}) { }
1407 0 0 if $parent_scope & 4
1416 0 799 if ($$rstr =~ /\G(\S+)/cg)
1417 0 0 if $parent_scope & 4
1425 0 48418 if $prev_pos == pos $$rstr
1428 28059 20359 if (defined $token)
1429 6317 21742 if (not $current_scope & 512) { }
3629 18116 elsif ($current_scope & 512 and $current_scope & 256 || $ends_expr{$token} && $token_type eq 'KEYWORD' && $prev_token ne ',' && $prev_token ne '=>') { }
1444 841 27218 if ($parent_scope & 1)
1446 39 802 if ($token eq "-" or $token eq "+")
1450 1181 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))
1453 1186 26873 if ($c->token_expects_block($token))
1456 134 81 if ($current_scope & 2 or $parent_scope & 2 and !@{$c->{'stack'};} || $c->{'stack'}[-1][0] ne '{')
1457 32 102 if ($token_type eq 'STRING') { }
1 101 elsif ($token_desc eq 'HEREDOC') { }
8 93 elsif ($token_type eq 'VARIABLE') { }
1458 20 12 if ($token->[0] =~ /\b(?:(?:use|no)\s+[A-Za-z]|require\s+(?:q[qw]?.|['"])?[A-Za-z])/)
1460 20 0 if (defined $eval_string and $eval_string ne "")
1475 1 0 if ($token->[0] =~ /\b(?:use|require|no)\s+[A-Za-z]/)
1477 1 0 if (defined $eval_string and $eval_string ne "")
1494 104 30 ($current_scope | $parent_scope) & 2 ? :
1496 51 28008 if ($token eq "eval")
1501 4847 23212 if ($current_scope & 1)
1503 12 4835 if ($token eq "-" or $token eq "+")
1506 11 1254 if ($token_type eq "KEYWORD" and $has_sideff{$token})
1510 2342 25717 if ($stack)
1514 271 2071 if ($token eq "{" and $is_conditional{$stack->[2]})
1520 16 2326 if ($token eq "{" and $current_scope & 2)
1522 0 16 ($current_scope | $parent_scope) & 2 ? :
1524 139 2203 if ($current_scope & 1) { }
36 2167 elsif ($parent_scope & 1) { }
1534 305 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))
1538 663 102 if ($stack->[0] eq "{" and @keywords and $c->token_expects_block($keywords[0]) and not $c->token_expects_block_list($keywords[-1]))
1539 663 0 unless @tokens and $c->token_defines_sub($keywords[-1]) || $keywords[-1] eq 'eval'
1543 4658 23401 if ($current_scope & 128)
1544 1119 3539 if ($current_scope & 1 and @tokens)
1546 46 1073 if ($first_token eq "->")
1550 1 45 if ($first_token eq "use" or $first_token eq "no")
1554 44 1075 ($current_scope | $parent_scope) & 48 ? :
1555 849 270 if (exists $c->{'callback'}{$first_token})
1560 0 849 if ($c->{'found_unsupported_package'} and not $c->{'quick'})
1567 224 895 if (exists $c->{'keyword'}{$first_token})
1573 18 1101 if (exists $c->{'method'}{$first_token} and $caller_package)
1579 11 1108 if ($current_scope & 32)
1582 11 47 if $has_sideff{$token->[0]}
1584 2 9 if grep {$has_sideff{$_->[0]};} @tokens
1585 11 0 if (@tokens)
1587 1 10 ($current_scope | $parent_scope) & 48 ? :
1588 0 11 if (exists $c->{'callback'}{$first_token})
1593 1 10 if (exists $c->{'keyword'}{$first_token})
1599 0 11 if (exists $c->{'method'}{$first_token} and $caller_package)
1615 2246 25813 if ($unstack and @{$c->{'stack'};})
1618 0 2246 if ($unstack eq "}" and $stacked_type ne "{" or $unstack eq "]" and $stacked_type ne "[" or $unstack eq ")" and $stacked_type ne "(")
1632 2319 25740 if $current_scope & 64
1633 105 25635 if $c->{'ended'}
1634 0 25635 if $c->{'last_found_by_skimming'} and $c->{'last_found_by_skimming'} < pos $$rstr
1639 0 45994 if (@{$c->{'errors'};} and not $parent_scope & 4)
1641 0 0 if $rest
1646 41 3184 if (@tokens)
1647 41 0 if (my $first_token = $tokens[0][0])
1648 28 13 if (exists $c->{'callback'}{$first_token})
1651 10 31 if (exists $c->{'keyword'}{$first_token})
1670 0 194 unless ($$rstr =~ /\G(\S)/cg)
1676 141 53 if ($ldel =~ /[[(<{]/) { }
1682 28 344 if ($c1 eq "\\")
1686 15 329 if ($c1 eq $ldel)
1691 156 173 if ($c1 eq $rdel)
1694 141 15 unless @nest
1697 173 0 if $$rstr =~ /\G$re_skip/cg
1700 0 141 if @nest
1703 0 53 unless $$rstr =~ /\G$re/cgs
1716 50 1 $token_type ? :
1 97 unless $$rstr =~ /\G$re_shortcut/cgs or defined $self->_scan_re($c, $rstr, "/", "/", $token_type ? "m" : "")
1725 1 96 if ($re =~ /\n/s and not $mod =~ /x/)
1739 0 47 unless ($$rstr =~ /\G(\S)/cg)
1744 27 20 if ($ldel =~ /[[(<{]/)
1749 0 47 unless $$rstr =~ /\G$re_shortcut/cgs or defined $self->_scan_re($c, $rstr, $ldel, $rdel, "m/qr")
1767 0 53 unless ($$rstr =~ /\G(\S)/cg)
1772 22 31 if ($ldel1 =~ /[[(<{]/)
1777 0 53 unless $ldel1 ne "\\" and $$rstr =~ /\G$re_shortcut/cgs or defined $self->_scan_re($c, $rstr, $ldel1, $rdel1, "s")
1779 0 53 unless defined $self->_scan_re2($c, $rstr, $ldel1, "s")
1794 0 5 unless ($$rstr =~ /\G(\S)/cg)
1800 1 4 if ($ldel1 =~ /[[(<{]/) { }
1803 0 1 unless $$rstr =~ /\G$re/cgs
1805 0 1 unless ($$rstr =~ /\G\s*(\S)/cg)
1811 0 4 unless $$rstr =~ /\G$re/cgs
1815 1 4 if ($ldel2 =~ /[[(<{]/) { }
1818 0 1 unless $$rstr =~ /\G$re/cgs
1821 0 4 unless $$rstr =~ /\G$re/cgs
1836 1 15 $1 ? :
1839 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) { }
1854 2 14 unless ($$rstr =~ /\G.*?\n$indent(?=\Q$label\E\n)/cgs)
1868 1 13 if ($indent)
1881 110 16 if (@{$c->{'stack'};})
1892 271 4782 if ($c1 eq "\n")
1899 696 4086 if ($c1 eq " " or $c1 eq "\t")
1904 144 3942 if ($c1 eq "#" and $rdel ne "#")
1905 94 50 if ($multiline and $$rstr =~ /\G(#[^\Q$rdel\E]*?)\n/cgs) { }
1915 416 3526 if ($c1 eq "\\" and $rdel ne "\\")
1916 416 0 if ($$rstr =~ /\G(\\.)/cgs)
1924 197 3329 if ($c1 eq "[")
1926 0 197 if ($$rstr =~ /\G(\[\[:\w+?:\]\])/cgs)
1930 59 138 if ($$rstr =~ /\G(\[[^\\\]]]*?(\\.[^\\\]]]*)*\])/cgs)
1936 156 3311 if ($c1 eq $rdel) { }
30 3281 elsif ($c1 eq $ldel) { }
1938 39 117 if ($saw_sharp)
1940 3 36 if ($op eq "s")
1943 0 3 unless (defined $latter)
1949 2 37 if ($$rstr =~ /\G[a-wyz]*x/)
1957 29 8 if ($multiline)
1963 44 81 if ($ldel ne $rdel)
1967 125 4 if $nested eq $expected
1969 123 2 unless @nesting
1973 28 2 if ($multiline and $saw_sharp) { }
1981 45 3264 if ($c1 eq "{")
1983 4 41 if ($$rstr =~ /\G(\{[0-9]+(?:,(?:[0-9]+)?)?})/cgs)
1989 407 2898 if ($c1 eq "(")
1991 209 198 if ($c2 eq "?" and not $multiline && $saw_sharp)
1993 70 139 if ($$rstr =~ /\G((\()\?+?)(?=\{)/cg)
1996 0 70 unless (eval { do { $self->_scan($c, $rstr, 8); 1 } })
2003 10 129 if ($$rstr =~ /\G(\(\?\#[^\\\)]*(?:\\.[^\\\)]*)*\))/cgs)
2010 327 0 if ($$rstr =~ /\G((\()(?:<[!=]|<\w+?>|>)?)/cg)
2018 3 2895 if ($c1 eq "\$" and substr($$rstr, $p + 1, 1) eq "{")
2020 3 0 if eval { do { $self->_scan($c, $rstr, 8); 1 } }
2025 397 2498 if ($c1 eq ")")
2026 393 4 if (@nesting and $nesting[-1] eq '(') { }
2037 87 2415 unless ($op)
2038 1 86 if ($outer_opening_delimiter and $c1 eq $outer_opening_delimiter)
2044 2 84 if ($outer_closing_delimiter and $c1 eq $outer_closing_delimiter)
2045 1 1 if (@nesting and $nesting[-1] eq $outer_opening_delimiter)
2055 2499 0 if ($$rstr =~ /\G(\w+|.)/cgs)
2061 0 125 if ($#nesting >= 0)
2075 23 33 if ($ldel =~ /[[(<{]/)
2078 0 23 unless ($$rstr =~ /\G\s*(\S)/cg)
2084 23 33 if ($ldel =~ /[[(<{]/) { }
2090 16 152 if ($c1 eq "\\")
2094 25 127 if ($c1 eq $ldel)
2099 48 79 if ($c1 eq $rdel)
2102 23 25 unless @nest
2105 79 0 if $$rstr =~ /\G$re_skip/cg
2108 0 23 if @nest
2111 0 33 unless $$rstr =~ /\G$re/cgs
2125 0 776 unless my $name_token = shift @$tokens
2127 0 776 if not defined $name or ref $name or $name eq ""
2130 3 773 if ($c1 eq 5)
2134 6 767 if ($c1 eq "v")
2136 1 5 if ($c2 eq 5)
2140 0 5 if ($c2 eq 6)
2146 18 754 if ($c->enables_utf8($name))
2149 9 9 unless ($c->{'decoded'})
2158 772 0 if (is_module_name($name))
2161 34 738 if ($maybe_version_token_desc and $maybe_version_token_desc eq 'NUMBER' || $maybe_version_token_desc eq 'VERSION_STRING') { }
2168 5 767 if (exists $sub_keywords{$name})
2172 1 771 if (exists $filter_modules{$name})
2176 0 1 if $redo
2180 411 361 if ($c->has_callback_for('use', $name)) { }
3 358 elsif ($name =~ /\b(?:Mo[ou]se?X?|MooX?|Elk|Antlers|Role)\b/) { }
2182 0 411 if $@
2184 0 3 $name =~ /Role/ ? :
2185 1 2 if ($c->has_callback_for("use", $module))
2187 0 1 if $@
2191 0 772 if (exists $unsupported_packages{$name})
2202 0 69 unless my $name_token = shift @$tokens
2204 7 62 if (ref $name)
2206 2 5 if $name =~ /\.pl$/i
2211 0 67 if not defined $name or $name eq ""
2214 1 66 if ($c1 eq 5)
2218 1 65 if ($c1 eq "v")
2220 1 0 if ($c2 eq 5)
2224 0 0 if ($c2 eq 6)
2230 62 3 if (is_module_name($name))
2242 0 32 unless my $name_token = shift @$tokens
2244 0 32 if not defined $name or ref $name or $name eq ""
2247 1 31 if ($c1 eq 5)
2251 1 30 if ($c1 eq "v")
2253 1 0 if ($c2 eq 5)
2257 0 0 if ($c2 eq 6)
2263 0 30 if ($name eq "utf8")
2267 30 0 if (is_module_name($name))
2270 3 27 if ($maybe_version_token_desc and $maybe_version_token_desc eq 'NUMBER' || $maybe_version_token_desc eq 'VERSION_STRING') { }
2278 2 28 if ($c->has_callback_for("no", $name))
2280 0 2 if $@