Branch Coverage

lib/DMS/Parser.pm
Criterion Covered Total %
branch 374 1008 37.1


line true false branch
54 0 0 $_[1] ? :
73 0 0 unless defined $h
869 0 0 if ($cp < $r->[0]) { }
0 0 elsif ($cp > $r->[1]) { }
946 1 0 unless ($warned++)
965 0 0 unless ($warned++)
985 0 0 if defined $fast
1008 0 0 if $$src_ref =~ /"""|'''/
1009 0 0 if $$src_ref =~ /^[ \t]*\+/m
1010 0 0 if $$src_ref =~ /^[ \t]*###/m
1037 0 0 if ($$src_ref =~ /\G[ \t]*\r?\n/cg)
1040 0 0 if ($$src_ref =~ m[\G[ \t]*(?:#|//)[^\n\r]*\r?\n]cg)
1057 0 0 if ($$src_ref =~ /\G([ ]*)([A-Za-z_][A-Za-z0-9_-]*):(?:[ ](?:(0|[1-9][0-9]{0,17})|(-[1-9][0-9]{0,17})|(true|false)|"((?:[\x20\x21\x23-\x5b\x5d-\x7e]|\\(?:["\\nrtbf]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}))*)"|(\[\]|\{\})|(-?(?:0|[1-9][0-9]*)\.[0-9]+)|\[([^\[\]\n\r]+)\]|\{([^\{\}\n\r]+)\})\r?\n|(\r?\n))/cg)
1066 0 0 unless (defined $stack[-1]{'ci'})
1069 0 0 if (@stack >= 2 and $stack[-2]{'ci'} >= $ind)
1073 0 0 if $stack[-1]{'ci'} != $ind
1075 0 0 if exists $container->{$key}
1077 0 0 if (defined $11) { }
1087 0 0 if (defined $3) { }
0 0 elsif (defined $4) { }
0 0 elsif (defined $5) { }
0 0 elsif (defined $6) { }
0 0 elsif (defined $7) { }
0 0 elsif (defined $8) { }
0 0 elsif (defined $9) { }
1089 0 0 $5 eq 'true' ? :
1095 0 0 if (index($val, "\\") != -1)
1097 0 0 $1 eq 'f' ? :
0 0 $1 eq 'b' ? :
0 0 $1 eq 'r' ? :
0 0 $1 eq 't' ? :
0 0 if ($1 eq 'n') { }
1108 0 0 $7 eq '[]' ? :
1119 0 0 if $raw eq ""
1120 0 0 if ($raw =~ /^(0|[1-9][0-9]{0,17})$/) { }
0 0 elsif ($raw =~ /^-[1-9][0-9]{0,17}$/) { }
0 0 elsif ($raw eq 'true') { }
0 0 elsif ($raw eq 'false') { }
0 0 elsif ($raw =~ /^"([\x20\x21\x23-\x5b\x5d-\x7e]*)"$/) { }
1182 0 0 unless ($warned++)
1193 0 0 unless ($warned++)
1223 1 0 unless ($warned++)
1233 1 0 unless ($warned++)
1250 1 0 unless ($warned++)
1269 53 0 unless $s =~ /[\x80-\xFF]/
1274 0 0 if ($b0 < 128)
1276 0 0 if (($b0 & 224) == 192) { }
0 0 elsif (($b0 & 240) == 224) { }
0 0 elsif (($b0 & 248) == 240) { }
1277 0 0 if $b0 < 194
1282 0 0 if $b0 > 244
1287 0 0 if $i + $expect > $n
1291 0 0 if ($bk & 192) != 128
1294 0 0 if $cp < $cp_lo or $cp > $cp_hi
1295 0 0 if $cp >= 55296 and $cp <= 57343
1322 0 53 if (not utf8::is_utf8($src) and length $src >= 3 and substr($src, 0, 3) eq "\357\273\277")
1331 53 0 unless (utf8::is_utf8($src))
1334 0 53 unless (utf8::decode($copy))
1339 0 53 if (length $src >= 1 and substr($src, 0, 1) eq "\x{feff}")
1343 0 53 if ((my $nul = index($src, "\0")) >= 0)
1354 0 53 if $src =~ /[^\x00-\x7F]/
1394 42 0 unless $ignore_order
1443 0 41 if $self->{'lite'} or not $self->{'record_forms'}
1449 0 899 if $self->{'pos'} >= $self->{'len'}
1456 0 4 if $p >= $self->{'len'}
1467 0 0 if $self->{'pos'} >= $self->{'len'}
1483 0 296 if $c eq "-"
1485 296 0 if ($o < 128)
1504 0 0 if length $s < 10
1510 0 0 if length $s < 8
1517 0 0 unless defined $c
1536 0 109 if $p >= $self->{'len'}
1538 109 0 unless exists $RESERVED_DECORATOR_SIGIL{$c}
1547 6 82 if ($self->{'src'} =~ /\G[ \t]+/cg)
1555 123 0 if (defined $c and $c eq "\n")
1560 0 0 if ($self->_starts_with("\r\n"))
1574 223 107 if ($p < $self->{'len'}) { }
1576 170 37 if $c0 ne " " and $c0 ne "\t" and $c0 ne "\n" and $c0 ne "\r" and $c0 ne "#" and $c0 ne "/"
1585 15 78 if ($self->{'src'} =~ /\G[ \t]+/cg)
1587 0 93 $p >= $self->{'len'} ? :
1588 4 89 if (defined $c and $c eq "\n" || $c eq "\r") { }
40 49 elsif (defined $c and $c eq '#') { }
0 49 elsif (defined $c and $c eq '/' and $self->_starts_with('//')) { }
0 49 elsif (defined $c and $c eq '/' and $self->_starts_with('/*')) { }
1589 0 4 if ($c eq "\r" and not $self->_starts_with("\r\n"))
1598 2 38 if ($self->_starts_with('###')) { }
1601 2 0 unless $self->{'lite'}
1606 37 1 unless $self->{'lite'}
1612 0 0 unless $self->{'lite'}
1616 0 0 unless $self->{'lite'}
1621 4 40 if $self->_eof
1629 94 5 unless @{$self->{'pending_leading'};}
1646 89 20 unless @{$self->{'pending_leading'};}
1670 1 54 if $self->{'lite'}
1682 0 0 if ($self->_eof)
1686 0 0 if ($c eq '/' and $self->_starts_with('/*')) { }
0 0 elsif ($c eq '*' and $self->_starts_with('*/')) { }
0 0 elsif ($c eq "\n") { }
0 0 elsif ($c eq "\r" and $self->_starts_with("\r\n")) { }
1705 2 0 unless defined $c and $c eq '_' || $c =~ /[A-Za-z0-9]/
1709 0 2 if (length $label > 0)
1711 0 0 if ($c0 ne "_" and not $c0 =~ /[A-Za-z]/)
1715 0 2 length $label ? :
1717 0 2 unless ($self->_consume_eol or $self->_eof)
1721 0 4 if ($self->_eof)
1727 4 14 if not defined $c or $c eq "\n" or $c eq "\r"
1735 2 2 if ($trimmed eq $terminator)
1750 42 11 if (substr($rest, 0, 3) ne "+++")
1765 0 11 unless ($self->_consume_eol or $self->_eof)
1770 1 23 if ($self->_eof)
1776 23 217 if not defined $c or $c eq "\n" or $c eq "\r"
1781 10 13 if ($trimmed eq "+++")
1783 13 0 if $self->_consume_eol
1805 7 3 if ($lite) { }
1816 7 3 if ($lite and exists $table->{$ORDER_KEY}) { }
1823 4 7 if ($k =~ /^_/) { }
1824 3 1 if ($k eq '_dms_tier') { }
1825 1 2 unless (ref $v eq "DMS::Parser::Integer")
1829 0 2 if ($n < 0)
1832 1 1 if ($n >= 1)
1839 4 3 if $lite
1850 0 1 if ($attached_to_reserved)
1871 0 0 if (defined $first and not ref $first and substr($first, 0, 1) eq "_")
1883 1 9 if ($self->_eof)
1886 1 0 $self->{'lite'} ? :
1889 0 9 if ($c eq " " or $c eq "\t")
1894 0 9 if ($c eq "+" and $self->_peek_after_plus_is_space_or_eol)
1895 0 9 unless ($self->_line_starts_kvpair)
1898 0 9 unless $self->_eof
1905 0 42 if ($self->_eof)
1908 0 0 if ($self->{'ignore_order'})
1911 0 0 $self->{'lite'} ? :
1914 0 42 if ($c eq " " or $c eq "\t")
1918 1 41 if ($c eq '+' and $self->_peek_after_plus_is_space_or_eol) { }
41 0 elsif ($self->_line_starts_kvpair) { }
1921 0 1 unless $self->_eof
1925 0 41 unless $self->_eof
1930 0 0 unless $self->_eof
1940 0 4 unless defined $nxt
1949 0 59 if ($p < $n and substr($s, $p, 1) eq '"') { }
0 59 elsif ($p < $n and substr($s, $p, 1) eq q[']) { }
1953 0 0 if ($ch eq '\\') { }
0 0 elsif ($ch eq '"') { }
0 0 elsif ($ch eq "\n" or $ch eq "\r") { }
1962 0 0 if ($ch eq q[']) { }
0 0 elsif ($ch eq "\n" or $ch eq "\r") { }
1970 59 237 unless _is_bare_key_char($ch)
1973 0 59 unless $any
1975 9 50 if $p >= $n or substr($s, $p, 1) ne ":"
1976 0 50 if $p + 1 >= $n
1987 14 3 $self->{'src'} =~ /\G( +)/g ? :
2002 0 54 if ($ignore_order) { }
6 48 elsif ($lite) { }
2022 6 48 $lite ? :
2027 3 2 $indent == 0 ? :
2038 6 148 if ($bulk and $self->{'pos'} == $self->{'line_start'})
2061 8 6 if ($$src_ref =~ /$bulk_re/cg)
2063 0 8 if (exists $t->{$k})
2073 2 6 if (defined $2) { }
0 6 elsif (defined $3) { }
0 6 elsif (defined $4) { }
6 0 elsif (defined $5) { }
0 0 elsif (defined $6) { }
2080 0 0 $4 eq 'true' ? :
2087 0 0 $6 eq '[]' ? :
2093 8 0 if $order
2099 0 6 if ($$src_ref =~ /\G[ \t]*\r?\n/cg)
2107 0 6 if ($$src_ref =~ m[\G[ \t]*(?:#(?!##)|//(?!\*))[^\n\r]*\r?\n]cg)
2118 54 100 if $self->{'pos'} >= $self->{'len'}
2124 95 5 if ($indent == 0 and $self->{'pos'} == $self->{'line_start'} and substr($self->{'src'}, $self->{'pos'}, 1) ne ' ') { }
2129 5 0 $self->{'src'} =~ /\G( +)/g ? :
2131 0 100 if $li < $indent
2132 0 100 if ($li != $indent)
2143 0 100 if ($lite) { }
2148 0 0 if substr($self->{'src'}, $self->{'pos'}, 1) ne ":"
2150 0 0 if exists $t->{$k}
2151 0 0 if $order
2155 0 100 if exists $t->{$k}
2161 48 6 unless $lite
2170 3 10 if $self->_eof
2172 1 9 if $li < $indent
2173 0 9 if ($li != $indent)
2178 0 9 if ($self->_peek ne "+")
2188 9 0 if (defined $c and $c eq ' ' || $c eq "\t") { }
0 0 elsif (not defined $c or $c eq "\n" or $c eq "\r") { }
2193 0 9 if (not defined $c2 or $c2 eq "\n" or $c2 eq "\r") { }
2197 0 0 if $self->_eof
2199 0 0 if $inner <= $indent
2207 0 0 if $self->_eof
2209 0 0 if $inner <= $indent
2218 0 9 unless ($ok)
2229 3 4 if ($self->_peek eq "+" and $self->_peek_after_plus_is_space_or_eol)
2237 0 9 if ($self->_line_starts_kvpair)
2243 0 0 if ($ignore_order) { }
0 0 elsif ($lite) { }
2255 0 0 if $self->_eof
2257 0 0 if $li < $key_col
2258 0 0 if ($li != $key_col)
2263 0 0 if $self->_peek eq "+"
2264 0 0 unless $self->_line_starts_kvpair
2266 0 0 if exists $t->{$k2}
2267 0 0 if $order
2283 0 100 if substr($self->{'src'}, $self->{'pos'}, 1) ne ":"
2286 0 100 if ($self->{'lite'})
2299 0 100 unless ($ok)
2308 0 100 $p >= $self->{'len'} ? :
2309 93 7 if (defined $c and $c eq ' ' || $c eq "\t")
2314 0 93 $p >= $self->{'len'} ? :
2315 0 93 if (defined $c2 and $c2 eq ' ' || $c2 eq "\t")
2320 0 0 $p >= $self->{'len'} ? :
2324 0 93 if (defined $c2 and $c2 eq "/")
2327 0 0 $p >= $self->{'len'} ? :
2329 0 93 if (not defined $c2 or $c2 eq "\n" or $c2 eq "\r")
2333 0 0 if $self->_eof
2335 0 0 if $child <= $parent_indent
2342 7 0 if (not defined $c or $c eq "\n" or $c eq "\r")
2345 0 7 if $self->_eof
2347 0 7 if $child <= $parent_indent
2356 0 102 $p >= $self->{'len'} ? :
2357 0 102 if (defined $c and $c eq "\"")
2358 0 0 if $self->_starts_with("\"\"\"")
2366 0 0 if $e
2369 0 102 if (defined $c and $c eq "'")
2370 0 0 if $self->_starts_with("'''")
2376 0 0 if $e
2379 0 102 unless defined $c
2389 102 0 if ($self->{'src'} =~ /\G[A-Za-z0-9_-]+/cg)
2395 102 0 if ord $c < 128
2396 0 0 unless _is_bare_key_char($c)
2399 0 0 if ($self->{'src'} =~ /\G[A-Za-z0-9_-]+/cg)
2403 0 102 if $self->{'pos'} == $start
2413 9 0 if $p >= $self->{'len'} or substr($self->{'src'}, $p, 1) ne "/" or substr($self->{'src'}, $p, 2) ne "/*"
2416 0 0 if $p >= $self->{'len'} or substr($self->{'src'}, $p, 2) ne "/*"
2422 0 0 unless $self->{'lite'}
2432 0 113 $p >= $self->{'len'} ? :
2437 0 113 if (defined $c and exists $RESERVED_DECORATOR_SIGIL{$c})
2442 113 0 if (defined $c)
2446 70 43 if ($c ge 0 and $c le 9)
2449 26 17 if ($c eq "\"")
2450 11 15 if $self->_starts_with("\"\"\"")
2454 9 8 if ($c eq "'")
2455 6 3 if $self->_starts_with("'''")
2460 1 7 if $c eq "["
2461 1 6 if $c eq "{"
2462 0 6 if $c eq "t" or $c eq "f"
2463 0 6 if $c eq "i"
2464 0 6 if $c eq "n"
2465 6 0 if $c eq "+" or $c eq "-"
2467 0 0 unless defined $c
2473 0 0 if ($self->_starts_with("true") and _is_value_terminator($self->_peek_at(4)))
2477 0 0 if ($self->_starts_with("false") and _is_value_terminator($self->_peek_at(5)))
2486 0 0 if ($self->_starts_with("inf") and _is_value_terminator($self->_peek_at(3)))
2495 0 0 if ($self->_starts_with("nan") and _is_value_terminator($self->_peek_at(3)))
2511 52 24 if ($self->{'src'} =~ /\G(0|[1-9][0-9]{0,17})(?![\d_.eExob:-])/g)
2520 18 6 unless ($starts_sign)
2524 0 18 if ($len_src - $base >= 10 and $self->{'src'} =~ /\G\d\d\d\d-\d\d-\d\d/)
2527 0 18 if ($len_src - $base >= 8 and $self->{'src'} =~ /\G\d\d:\d\d:\d\d/)
2531 0 24 if ($starts_sign and substr($self->{'src'}, $base + 1, 3) eq "inf")
2533 0 0 $p4 >= $len_src ? :
2534 0 0 if (_is_value_terminator($next))
2537 0 0 $neg ? :
2542 0 24 if ($is_float)
2545 0 0 if $@
2553 0 24 if ($s =~ /\A(?:0|[1-9][0-9]{0,17})\z/)
2560 0 24 if ($@)
2566 21 3 if (not $self->{'lite'} and $s ne $n)
2582 0 24 if ($self->{'src'} =~ /\G(\d+)(?![\d_.eExob])/g)
2599 0 24 unless defined $end
2601 0 24 if $len == 0
2605 13 11 if ($tok =~ /^[+-]?0[xob]/)
2606 0 13 $tok =~ /[.p]/ ? :
2608 0 11 $tok =~ /[.eE]/ ? :
2613 0 0 if length $s == 0
2614 0 0 if substr($s, 0, 1) eq "_" or substr($s, -1, 1) eq "_"
2617 0 0 if $prev
0 0 if ($c eq '_') { }
2633 0 24 if ($s =~ /\A(?:0|[1-9][0-9]{0,17})\z/)
2640 3 21 if ($first eq '-') { }
3 18 elsif ($first eq '+') { }
2642 0 24 if substr($rest, 0, 2) eq "0X"
2645 21 3 if (length $rest >= 2)
2647 7 14 if ($p2 eq '0x') { }
3 11 elsif ($p2 eq '0o') { }
3 8 elsif ($p2 eq '0b') { }
2651 0 24 if length $body == 0
2652 0 24 if substr($body, 0, 1) eq "_" or substr($body, -1, 1) eq "_"
2654 0 11 if ($radix == 10 and length $rest > 1 and substr($rest, 0, 1) eq 0)
2657 0 24 if index($body, "__") != -1
2659 8 16 if index($clean, "_") != -1
2660 11 13 if ($radix == 10) { }
7 6 elsif ($radix == 16) { }
3 3 elsif ($radix == 8) { }
2661 0 11 if $clean =~ /\D/
2663 0 7 if $clean =~ /[^0-9a-fA-F]/
2665 0 3 if $clean =~ /[^0-7]/
2667 0 3 if $clean =~ /[^01]/
2670 11 13 if ($radix == 10)
2673 3 8 $is_neg ? :
2674 0 11 if length $clean > length $bound or length $clean == length $bound and $clean gt $bound
2677 0 11 if $clean eq 0
2682 0 13 if ($radix == 16 and length $clean > 16) { }
0 13 elsif ($radix == 8 and length $clean > 22) { }
0 23 elsif ($radix == 2 and length $clean > 64) { }
2690 7 6 if ($radix == 16) { }
3 3 elsif ($radix == 8) { }
2693 0 13 if ($high_half)
2694 0 0 if ($is_neg)
2695 0 0 if $radix == 16 and $val_lc eq "8000000000000000" or $radix == 8 and $val_lc eq "1000000000000000000000" or $radix == 2 and $val_lc eq "1000000000000000000000000000000000000000000000000000000000000000"
2704 7 6 if ($radix == 16) { }
3 3 elsif ($radix == 8) { }
2707 0 13 if $native == 0
2715 0 0 if (substr($rest, 0, 1) eq '-') { }
0 0 elsif (substr($rest, 0, 1) eq '+') { }
2717 0 0 if (substr($rest, 0, 2) eq "0x" or substr($rest, 0, 2) eq "0o" or substr($rest, 0, 2) eq "0b")
2728 0 0 if ($c eq "e" or $c eq "E")
2730 0 0 $e_idx == -1 ? :
2731 0 0 $e_idx == -1 ? :
2732 0 0 if index($m, ".") == -1
2734 0 0 if @parts != 2 or $parts[0] eq "" or $parts[1] eq ""
2736 0 0 if $parts[0] =~ /[^\d_]/
2737 0 0 if $parts[1] =~ /[^\d_]/
2738 0 0 unless _valid_underscores($parts[0]) and _valid_underscores($parts[1])
2742 0 0 if (defined $e)
2744 0 0 if $e_clean =~ /_/
2745 0 0 if $e =~ /[^\d+-]/
2746 0 0 if $e_clean eq ""
2755 0 0 if (substr($s, 0, 2) eq '0x') { }
0 0 elsif (substr($s, 0, 2) eq '0o') { }
0 0 elsif (substr($s, 0, 2) eq '0b') { }
2760 0 0 if $p_idx < 0
2763 0 0 if $exp_str eq ""
2764 0 0 if $exp_str =~ /_/
2765 0 0 if $exp_str =~ /[^\d+-]/
2768 0 0 if (index($mant, '.') != -1) { }
2770 0 0 if $ip eq "" or $fp eq ""
2774 0 0 unless _valid_underscores($ip) and _valid_underscores($fp)
2778 0 0 if index($digit_chars, lc $c) == -1
2781 0 0 if index($digit_chars, lc $c) == -1
2783 0 0 $ip eq '' ? :
2805 0 0 if $m == 1 or $m == 3 or $m == 5 or $m == 7 or $m == 8 or $m == 10 or $m == 12
2806 0 0 if $m == 4 or $m == 6 or $m == 9 or $m == 11
2807 0 0 if ($m == 2)
2808 0 0 $y % 4 == 0 && $y % 100 != 0 || $y % 400 == 0 ? :
2815 0 0 if length $s != 10 or substr($s, 4, 1) ne "-" or substr($s, 7, 1) ne "-"
2818 0 0 unless substr($s, $i, 1) =~ /\d/
2823 0 0 if $mo < 1 or $mo > 12
2824 0 0 if $d < 1 or $d > _days_in_month($y, $mo)
2829 0 0 if length $s != 8 or substr($s, 2, 1) ne ":" or substr($s, 5, 1) ne ":"
2832 0 0 unless substr($s, $i, 1) =~ /\d/
2837 0 0 if $h > 23
2838 0 0 if $m > 59
2839 0 0 if $sec > 59
2847 0 0 if ($@)
2849 0 0 if (substr($rest2, 0, 1) ne "T" and substr($rest2, 0, 1) ne " ")
2850 0 0 if (substr($rest2, 0, 1) eq "t")
2854 0 0 if $after eq ""
2855 0 0 unless _is_value_terminator($after)
2859 0 0 if (substr($rest2, 0, 1) eq " ")
2861 0 0 if (length $after_ws > 0 and substr($after_ws, 0, 1) =~ /\d/)
2868 0 0 unless _looks_like_time_prefix($after_t)
2871 0 0 if ($@)
2875 0 0 if (substr($after_time, 0, 1) eq ".")
2879 0 0 if $digits == 0
2880 0 0 if $digits > 9
2885 0 0 if (substr($after_frac, 0, 1) eq "Z" or substr($after_frac, 0, 1) eq "z")
2891 0 0 if (substr($after_frac, 0, 1) eq "+" or substr($after_frac, 0, 1) eq "-")
2892 0 0 if (length $after_frac < 6 or not substr($after_frac, 1, 1) =~ /\d/ or not substr($after_frac, 2, 1) =~ /\d/ or substr($after_frac, 3, 1) ne ":" or not substr($after_frac, 4, 1) =~ /\d/ or not substr($after_frac, 5, 1) =~ /\d/)
2900 0 0 if $oh > 23 or $om > 59
2907 0 0 if $after eq ""
2908 0 0 unless _is_value_terminator($after)
2919 0 0 if ($@)
2922 0 0 if (substr($after, 0, 1) eq ".")
2926 0 0 if $digits == 0
2927 0 0 if $digits > 9
2932 0 0 if $nxt eq ""
2933 0 0 unless _is_value_terminator($nxt)
2953 18 0 if ($src =~ /\G([^"\\\n\r]*)/cg)
2954 12 6 if length $1
2957 0 18 if ($p >= $len)
2962 15 3 if ($c eq "\"")
2965 15 0 !($out =~ /[^\x00-\x7F]/) ? :
2967 0 3 if ($c eq "\n" or $c eq "\r")
2973 0 3 if ($p >= $len)
2979 0 3 if ($esc eq '"') { }
0 3 elsif ($esc eq '\\') { }
3 0 elsif ($esc eq 'n') { }
0 0 elsif ($esc eq 't') { }
0 0 elsif ($esc eq 'r') { }
0 0 elsif ($esc eq 'b') { }
0 0 elsif ($esc eq 'f') { }
0 0 elsif ($esc eq 'u' or $esc eq 'U') { }
2989 0 0 $esc eq 'u' ? :
3006 0 24 if ($self->_eof)
3010 0 24 if $c eq "\n" or $c eq "\r"
3011 3 21 if ($c eq "'")
3020 0 0 if length $rest < $n
3022 0 0 unless $hex =~ /^[0-9a-fA-F]+$/
3026 0 0 if ($v == 0)
3029 0 0 if ($v >= 55296 and $v <= 57343)
3032 0 0 if ($v > 1114111)
3047 0 11 unless ($self->_consume_eol or $self->_eof)
3050 8 3 length $label ? :
3060 0 11 if ($@)
3066 8 3 length $label ? :
3070 11 0 !($out =~ /[^\x00-\x7F]/) ? :
3085 0 83 if (substr($text, $i, 1) eq '\\') { }
3090 0 0 if ($run % 2 == 1 and $j < $len)
3092 0 0 $intro eq 'U' ? :
0 0 $intro eq 'u' ? :
3093 0 0 if ($n > 0 and $j + 1 + $n <= $len)
3095 0 0 if ($hex =~ /^[0-9a-fA-F]+$/)
3098 0 0 if ($cp == 0)
3102 0 0 if ($cp >= 55296 and $cp <= 57343)
3123 0 6 unless ($self->_consume_eol or $self->_eof)
3126 3 3 length $label ? :
3131 0 6 if ($@)
3137 3 3 length $label ? :
3146 6 11 unless _is_label_start($c)
3150 11 33 unless _is_label_cont($c2)
3164 3 17 if (defined $c and _is_label_start($c)) { }
3165 0 3 unless $had_ws
3179 3 15 unless _is_label_cont($c)
3183 0 3 if $self->_peek ne "("
3194 0 6 if ($self->_peek eq ")")
3198 3 3 if ($c eq ',') { }
3 0 elsif ($c eq ')') { }
3206 0 3 unless $ok
3215 0 34 if ($self->_eof)
3221 34 201 if not defined $c or $c eq "\n" or $c eq "\r"
3227 17 17 if ($trimmed eq $terminator)
3230 34 17 if ($c eq ' ') { }
3249 0 17 if ($is_blank) { }
3254 34 17 if ($c eq ' ') { }
3256 0 17 if ($leading < $body->{'strip_depth'})
3264 11 6 if ($allow_cont)
3267 0 11 if ($idx != -1 and $idx == length($trimmed_end) - 1)
3272 0 0 if ($preceding % 2 == 0)
3278 17 0 if ($first) { }
0 0 elsif ($pending) { }
3283 0 0 unless $is_blank
3289 0 17 if ($pending)
3309 0 0 if ($$charset{$chars[$i]}) { }
3325 0 0 if $end == 0
3334 3 0 if $start == @chars
3350 0 3 if length $chars == 0
3356 0 3 unless $has_star or $has_pipe or $has_lt or $has_gt
3357 0 3 if $has_star
3359 0 3 if $has_pipe
3360 0 3 if $has_lt
3361 3 0 if $has_gt
3371 0 3 if ($name eq '_fold_paragraphs') { }
3 0 elsif ($name eq '_trim') { }
3372 0 0 if @$args
3375 0 3 if @$args < 2 or @$args > 3
3378 0 3 if ref $chars ne ""
3380 0 3 if ref $where ne ""
3382 0 3 if (@$args == 3)
3383 0 0 if ref $args->[2] ne ""
3402 0 3 if ($self->_peek eq "]")
3411 0 3 unless ($ok)
3415 2 1 if ($c eq ',') { }
1 0 elsif ($c eq ']') { }
0 0 elsif (not defined $c) { }
3428 0 1 if ($ignore_order) { }
0 1 elsif ($lite) { }
3438 0 2 if ($self->_peek eq "}")
3440 0 2 if $self->_peek ne ":"
3443 0 0 if (not defined $c or $c ne " " and $c ne "\t" and $c ne "\n" and $c ne "\r")
3449 2 0 unless $lite
3451 0 2 if ($lite) { }
3457 0 2 unless ($ok)
3459 0 2 if exists $t->{$key}
3460 0 2 if $order
3464 1 1 if ($c2 eq ',') { }
1 0 elsif ($c2 eq '}') { }
0 0 elsif (not defined $c2) { }
3475 5 7 if ($self->{'src'} =~ /\G[ \t]+/cg)
3478 0 12 if $self->{'pos'} >= $self->{'len'}
3480 0 12 if ($c eq "\n")
3481 0 12 if ($c eq "\r")
3482 0 0 if (substr($self->{'src'}, $self->{'pos'}, 2) eq "\r\n")
3487 0 12 if ($c eq "#")
3488 0 12 if ($c eq "/")
3490 0 0 if ($n eq "/" or $n eq "*")
3500 0 5 if ($self->_peek eq "\"" and $self->_starts_with("\"\"\""))
3503 0 5 if ($self->_peek eq "'" and $self->_starts_with("'''"))
3518 0 102 if ($p >= $self->{'len'})
3520 85 17 if ($c eq "\n")
3527 17 0 if ($c eq " " or $c eq "\t")
3534 0 17 if ($p >= $self->{'len'})
3536 0 17 if ($c eq "\n")
3544 0 0 if ($c ne "#" and $c ne "/" and $c ne "\r")
3558 17 0 if $first_iter and $hot_had_ws
3561 17 0 if (defined $c and $c eq '#' and not $self->_starts_with('###')) { }
0 0 elsif (defined $c and $c eq '/' and $self->_starts_with('//')) { }
0 0 elsif (defined $c and $c eq '/' and $self->_starts_with('/*')) { }
3562 0 17 unless $had_ws
3568 17 0 unless $self->{'lite'}
3571 0 0 unless $had_ws
3577 0 0 unless $self->{'lite'}
3585 0 0 unless $self->{'lite'}
3592 0 17 unless defined $c
3593 17 0 if ($c eq "\n")
3594 0 0 if ($c eq "\r" and $self->_starts_with("\r\n"))