blib/lib/DBIx/Perlish/Parse.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 219 | 382 | 57.3 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
180 | 0 | 0 | 591 | $padname and not $padname->isa('B::SPECIAL') |
181 | 587 | 3 | 1 | $p{'no_fakes'} and $padname->FLAGS & 16777216 |
262 | 2 | 53 | 3 | $padname->FLAGS & 16777216 and $store->{'inner'}->outid > 1 |
319 | 42 | 0 | 4 | ref $ref eq 'SCALAR' and not $$ref |
340 | 0 | 0 | 0 | ref $ref eq 'SCALAR' and not $$ref |
380 | 61 | 3 | 0 | not defined $ref and $access == 2 || $access == 3 || $access == 4 || $access == 9 || $access == 10 || $access == 11 |
428 | 215 | 16 | 0 | is_unop($op, 'null') and is_svop($op->first, 'gvsv') || is_padop($op->first, 'gvsv') |
215 | 4 | 11 | is_unop($op, 'null') and is_unop_aux($op->first, 'multideref') | |
217 | 0 | 2 | $p{'eval'} and is_binop($op, 'concat') | |
217 | 0 | 0 | $p{'eval'} and is_unop_aux($op, 'multiconcat') | |
596 | 355 | 23 | 0 | $p{'lvalue'} and is_unop($op, 'rv2cv') |
601 | 288 | 4 | 86 | $S->{'parsing_return'} and not $S->{'inside_aggregate'} |
614 | 5 | 22 | 0 | $S->{'tabs'} and keys %{$$S{'tabs'};} |
27 | 0 | 0 | $S->{'vars'} and keys %{$$S{'vars'};} | |
661 | 0 | 1 | 213 | $c and $c eq 'attributes' |
685 | 201 | 1 | 1 | lc $attr[0] eq 'table' and @attr > 1 |
833 | 24 | 0 | 4 | not defined $placeholder and $S->{'gen_args'}{'inline'} |
854 | 43 | 0 | 55 | $sv->isa('B::IV') and not $sv->isa('B::PVIV') |
43 | 0 | 0 | $sv->isa('B::NV') and not $sv->isa('B::PVNV') | |
958 | 0 | 0 | 83 | $gv and $$gv |
961 | 2 | 0 | 81 | $p{'get_name'} and $gv->isa('B::IV') |
963 | 81 | 0 | 0 | ref $subref eq 'REF' and ref $$subref eq 'CODE' |
1063 | 12 | 0 | 1 | is_unop($sub, 'rv2av') and is_op($sub->first, 'padsv') |
9 | 0 | 0 | is_unop($sub, 'srefgen') and is_unop($sub->first, 'null') | |
9 | 0 | 0 | is_unop($sub, 'srefgen') and is_unop($sub->first, 'null') and is_listop($sub->first->first, 'anonlist') | |
1079 | 0 | 0 | 7 | $sv->isa('B::IV') and not $sv->isa('B::PVIV') |
0 | 0 | 0 | $sv->isa('B::NV') and not $sv->isa('B::PVNV') | |
1128 | 3 | 5 | 2 | $nret != 1 and not $p{'returns_dont_care'} |
8 | 0 | 2 | $nret != 1 and not $p{'returns_dont_care'} and not $flags{'returns_dont_care'} | |
1139 | 15 | 0 | 10 | is_listop($op->last, 'list') and is_pushmark_or_padrange($op->last->first) |
15 | 0 | 10 | is_listop($op->last, 'list') and is_pushmark_or_padrange($op->last->first) and is_unop($op->last->first->sibling, 'entersub') | |
1144 | 0 | 0 | 2 | is_unop($op->first, 'entersub') and my $sql = try_parse_funcall($S, $op->first, 'select', 0) |
1197 | 0 | 1168 | 1 | not is_null($op) and is_op($op, 'null') |
1241 | 9 | 0 | 0 | ($S->{'gen_args'}{'flavor'} || '') eq 'oracle' && $func eq 'except' |
1250 | 0 | 0 | 1 | defined $r and $r eq '' |
1276 | 10 | 12 | 4 | $S->{'parsing_return'} and $S->{'aggregates'}{lc $func} |
1280 | 16 | 9 | 1 | not $S->{'parsing_return'} and $S->{'aggregates'}{lc $func} |
1287 | 10 | 12 | 4 | $S->{'parsing_return'} and $S->{'aggregates'}{lc $func} |
1292 | 22 | 3 | 1 | ($S->{'gen_args'}{'flavor'} || '') eq 'oracle' and lc $func eq 'sysdate' |
25 | 0 | 1 | ($S->{'gen_args'}{'flavor'} || '') eq 'oracle' and lc $func eq 'sysdate' and not @terms | |
1294 | 19 | 3 | 3 | lc $func eq 'extract' and @terms == 2 |
1300 | 23 | 0 | 2 | lc $func eq 'cast' and @terms == 2 |
1330 | 6 | 0 | 2 | is_unop($c, 'rv2hv') and is_op($c->first, 'padsv') |
1407 | 200 | 11 | 36 | $op->flags & 64 and not $S->{'parsing_return'} |
211 | 25 | 11 | $op->flags & 64 and not $S->{'parsing_return'} and $binop2_map{$op->name} | |
36 | 0 | 11 | $op->flags & 64 and not $S->{'parsing_return'} and $binop2_map{$op->name} and is_unop($op->first, 'entersub') | |
1506 | 0 | 0 | 0 | @args and is_op($args[0], 'null') |
1696 | 0 | 0 | 4 | $logop and is_logop($logop, 'regcomp') |
1713 | 0 | 0 | 0 | not $case and $can_like |
1822 | 0 | 3 | 37 | 2 <= @op and 3 >= @op |
3 | 0 | 37 | 2 <= @op and 3 >= @op and is_pushmark_or_padrange($op[0]) | |
3 | 0 | 37 | 2 <= @op and 3 >= @op and is_pushmark_or_padrange($op[0]) and is_binop($op[1]) | |
1841 | 1 | 0 | 3 | exists $join_map{$op[1]->name} and $join_map{$op[1]->name} eq 'inner' |
1846 | 1 | 0 | 30 | is_unop($op[2]) and $op[2]->name eq 'entersub' |
2008 | 0 | 1 | 3 | $op and not is_null($op) |
2045 | 5 | 0 | 6 | not $sv and is_op($op, 'padsv') |
2052 | 0 | 0 | 9 | $sv and $const |
0 | 2 | 7 | $sv and $const and $const =~ /^\d+$/u | |
2 | 0 | 7 | $sv and $const and $const =~ /^\d+$/u and $const > 0 | |
2072 | 0 | 1 | 3 | is_op($op->last, 'padsv') and $varn = padname($S, $op->last, 'no_fakes', 1) |
2128 | 21 | 1 | 6 | not $label and lc $lop->label eq 'table' |
2168 | 2131 | 0 | 8 | is_binop($op, 'leaveloop') and is_loop($op->first, 'enterloop') |
2131 | 0 | 8 | is_binop($op, 'leaveloop') and is_loop($op->first, 'enterloop') and is_listop($op->last, 'lineseq') |
line | l | !l | condition |
---|---|---|---|
197 | 12 | 22 | $n[$k]->PVX // '' |
271 | 2 | 12 | $store->{'S'}{'padlists'}{$padlist->id} //= [$padlist->ARRAY] |
623 | 15 | 338 | $prefix ||= '' |
869 | 12 | 0 | $S->{'gen_args'}{'flavor'} || '' |
999 | 37 | 0 | get_gv_name($S, $dbfetch) // '' |
1007 | 2 | 4 | $opt{'select'} //= 1 |
1011 | 6 | 0 | $S->{'gen_args'}{'flavor'} || '' |
1028 | 10 | 0 | $list //= [] |
1036 | 10 | 0 | $S->{'gen_args'}{'flavor'} || '' |
1041 | 30 | 0 | ref $val // '' |
1068 | 1 | 0 | $ary // \[] |
1292 | 26 | 0 | $S->{'gen_args'}{'flavor'} || '' |
1442 | 0 | 0 | $S->{'gen_args'}{'flavor'} || '' |
1473 | 2 | 0 | $S->{'gen_args'}{'flavor'} || '' |
1571 | 0 | 0 | $opt{'multiconcat'} // {} |
1630 | 11 | 0 | $S->{'gen_args'}{'flavor'} || '' |
1704 | 19 | 0 | $S->{'gen_args'}{'flavor'} || '' |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
109 | 1198 | 1 | 2193 | is_op($op, 'pushmark') || is_op($op, 'padrange') |
133 | 0 | 2 | 0 | is_unop($op, 'method') or is_methop($op, 'method') |
312 | 9 | 0 | 42 | $access == 12 or $access == 5 |
9 | 29 | 13 | $access == 12 or $access == 5 or $access == 10 | |
29 | 8 | 5 | $access == 12 or $access == 5 or $access == 10 or $access == 3 | |
0 | 1 | 4 | $access == 8 or $access == 11 | |
1 | 2 | 2 | $access == 8 or $access == 11 or $access == 13 | |
0 | 0 | 2 | $access == 1 or $access == 4 | |
0 | 2 | 0 | $access == 1 or $access == 4 or $access == 6 | |
0 | 0 | 0 | $access == 2 or $access == 9 | |
319 | 0 | 5 | 41 | not $ref or ref $ref eq 'SCALAR' and not $$ref |
340 | 0 | 0 | 0 | not $ref or ref $ref eq 'SCALAR' and not $$ref |
349 | 10 | 2 | 18 | $access == 12 || $access == 9 || $access == 10 || $access == 8 || $access == 11 || $access == 13 |
380 | 2 | 0 | 1 | $access == 2 || $access == 3 || $access == 4 || $access == 9 || $access == 10 || $access == 11 |
392 | 0 | 0 | 62 | $index == 0 or $index & 64 |
428 | 1 | 0 | 231 | is_svop($op, 'gvsv') or is_padop($op, 'gvsv') |
1 | 0 | 15 | is_svop($op->first, 'gvsv') || is_padop($op->first, 'gvsv') | |
2 | 0 | 215 | is_svop($op, 'aelemfast') or is_padop($op, 'aelemfast') | |
454 | 0 | 0 | 0 | is_svop($op, 'gv') or is_padop($op, 'gv') |
0 | 0 | 0 | is_binop($op, 'helem') or is_binop($op, 'aelem') | |
489 | 0 | 0 | 0 | is_svop($op, 'gv') or is_padop($op, 'gv') |
0 | 0 | 0 | is_binop($op, 'helem') or is_binop($op, 'aelem') | |
513 | 0 | 2 | 2 | is_null($args[-1]) or is_null($args[-1]->sibling) |
614 | 0 | 0 | 27 | $S->{'tabs'} and keys %{$$S{'tabs'};} or $S->{'vars'} and keys %{$$S{'vars'};} |
676 | 213 | 0 | 0 | is_methop($op, 'method_named') or is_svop($op, 'method_named') |
793 | 0 | 7 | 338 | $S->{'operation'} eq 'delete' or $S->{'operation'} eq 'update' |
854 | 55 | 0 | 43 | $sv->isa('B::IV') and not $sv->isa('B::PVIV') or $sv->isa('B::NV') and not $sv->isa('B::PVNV') |
870 | 6 | 0 | 1 | $flavor eq 'pg' or $flavor eq 'pglite' |
947 | 81 | 2 | 0 | is_svop($op, 'gv') or is_svop($op, 'gvsv') |
0 | 0 | 0 | is_padop($op, 'gv') or is_padop($op, 'gvsv') | |
991 | 0 | 37 | 6 | is_unop($rg, 'refgen') or is_unop($rg, 'srefgen') |
1036 | 0 | 10 | 0 | $S->{'gen_args'}{'in_arg_limit'} // (($S->{'gen_args'}{'flavor'} || '') eq 'oracle' ? 500 : 2000000000) |
1063 | 3 | 0 | 9 | is_listop($sub, 'anonlist') or is_unop($sub, 'srefgen') and is_unop($sub->first, 'null') and is_listop($sub->first->first, 'anonlist') |
1079 | 7 | 0 | 0 | $sv->isa('B::IV') and not $sv->isa('B::PVIV') or $sv->isa('B::NV') and not $sv->isa('B::PVNV') |
1173 | 0 | 6 | 7 | is_unop($op->first, 'srefgen') or is_listop($op->first, 'anonhash') |
1216 | 44 | 0 | 345 | is_svop($op, 'gv') or is_padop($op, 'gv') |
1222 | 7 | 2 | 0 | @args == 1 or @args == 2 |
1224 | 0 | 9 | 0 | is_unop($rg, 'refgen') or is_unop($rg, 'srefgen') |
1261 | 0 | 2 | 0 | is_unop($rg, 'refgen') or is_unop($rg, 'srefgen') |
1443 | 0 | 0 | 0 | $flavor eq 'pg' or $flavor eq 'pglite' |
1454 | 13 | 0 | 223 | is_binop($op, 'concat') or is_unop_aux($op, 'multiconcat') |
1464 | 136 | 8 | 27 | $sqlop eq '=' or $sqlop eq '<>' |
1474 | 1 | 0 | 1 | $flavor eq 'pg' or $flavor eq 'pglite' |
1505 | 0 | 0 | 0 | is_null($args[-1]) or is_null($args[-1]->sibling) |
1601 | 0 | 0 | 6 | $S->{'operation'} eq 'delete' or $S->{'operation'} eq 'update' |
1617 | 0 | 0 | 10 | $S->{'operation'} eq 'delete' or $S->{'operation'} eq 'update' |
1711 | 18 | 0 | 1 | $flavor eq 'pg' or $flavor eq 'pglite' |
1779 | 18 | 1 | 0 | $flavor eq 'pg' or $flavor eq 'oracle' |
1884 | 3 | 1 | 25 | scalar grep({@{$S2->{$_};};} 'group_by', 'order_by', 'autogroup_by', 'ret_values', 'joins') or $S2->{'alias'} ne $S->{'alias'} |
1953 | 1 | 0 | 8 | is_binop($op) or $op->name eq 'sassign' |
2 | 0 | 0 | is_listop($op, 'leave') or is_listop($op, 'scope') | |
1984 | 0 | 0 | 4 | $S->{'operation'} eq 'delete' || $S->{'operation'} eq 'update' |
2004 | 3 | 3 | 3 | is_listop($op, 'list') or is_listop($op, 'sort') |