| line |
true |
false |
branch |
|
73
|
17 |
4751 |
if (defined $newdata) |
|
92
|
0 |
0 |
if (defined $$parent{'children'}) |
|
95
|
0 |
0 |
if (defined $$parent{'next'}) { } |
|
110
|
2702 |
0 |
unless (defined $root) |
|
113
|
0 |
0 |
unless ($self->is_root($root)) |
|
127
|
0 |
10 |
unless (defined $node) |
|
131
|
7 |
3 |
if (defined $$node{'prev'}) { } |
|
|
3 |
0 |
elsif (defined $$node{'parent'}) { } |
|
139
|
5 |
5 |
if (defined $$node{'next'}) |
|
175
|
0 |
2 |
unless (defined $node) |
|
178
|
0 |
2 |
unless (defined $descendant) |
|
183
|
1 |
2 |
if (defined $$descendant{'parent'} and $$descendant{'parent'} == $node) |
|
198
|
0 |
0 |
unless (defined $node) |
|
230
|
0 |
2 |
unless (defined $node) |
|
260
|
0 |
2067 |
unless (defined $root) |
|
270
|
826 |
1237 |
if ($tmp_height > $max_height) |
|
286
|
0 |
22 |
unless (defined $node) |
|
308
|
0 |
4 |
unless (defined $node) |
|
311
|
0 |
4 |
unless (defined $child) |
|
314
|
0 |
4 |
if (defined $$child{'parent'} and not $$child{'parent'} == $node) |
|
321
|
4 |
6 |
if ($node == $child) |
|
337
|
0 |
0 |
unless (defined $node) |
|
344
|
0 |
0 |
if ($$node{'data'} eq $data) |
|
359
|
0 |
0 |
unless (defined $node) |
|
375
|
0 |
0 |
unless (defined $node) |
|
387
|
0 |
0 |
unless (defined $node) |
|
399
|
0 |
0 |
unless (defined $node) |
|
418
|
422 |
1660 |
if (defined $$node{'children'}) { } |
|
|
1653 |
7 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS) { } |
|
422
|
418 |
4 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS) |
|
446
|
0 |
4 |
unless (defined $root) |
|
449
|
0 |
4 |
unless ($flags <= $Tree::Nary::TRAVERSE_MASK) |
|
463
|
0 |
2 |
unless (defined $node) |
|
475
|
0 |
2 |
unless (defined $node) |
|
481
|
2 |
0 |
if (defined $node) |
|
497
|
0 |
10 |
unless (defined $node) |
|
503
|
10 |
0 |
if (defined $node) |
|
521
|
0 |
4 |
unless (defined $parent) |
|
524
|
0 |
4 |
unless (defined $node) |
|
527
|
0 |
4 |
unless ($self->is_root($node)) |
|
531
|
3 |
1 |
if ($position > 0) { } |
|
|
1 |
0 |
elsif ($position == 0) { } |
|
545
|
0 |
2073 |
unless (defined $parent) |
|
548
|
0 |
2073 |
unless (defined $node) |
|
551
|
0 |
2073 |
unless ($self->is_root($node)) |
|
555
|
13 |
2060 |
if (defined $sibling) |
|
556
|
0 |
13 |
if ($$sibling{'parent'} != $parent) |
|
563
|
13 |
2060 |
if (defined $sibling) { } |
|
564
|
2 |
11 |
if (defined $$sibling{'prev'}) { } |
|
575
|
1643 |
417 |
if (defined $$parent{'children'}) { } |
|
629
|
0 |
13 |
unless (defined $parent) |
|
652
|
8 |
14 |
if (defined $$node{'children'}) { } |
|
|
0 |
21 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($node, $argref)) { } |
|
656
|
0 |
8 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($node, $argref)) |
|
668
|
0 |
20 |
if ($self->_traverse_pre_order($current, $flags, $funcref, $argref)) |
|
684
|
0 |
0 |
if (defined $$node{'children'}) { } |
|
|
0 |
0 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($node, $argref)) { } |
|
688
|
0 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($node, $argref)) |
|
693
|
0 |
0 |
unless ($depth) |
|
706
|
0 |
0 |
if ($self->_traverse_pre_order($current, $flags, $depth, $funcref, $argref)) |
|
722
|
4 |
7 |
if (defined $$node{'children'}) { } |
|
|
0 |
7 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($node, $argref)) { } |
|
735
|
0 |
10 |
if ($self->_traverse_post_order($current, $flags, $funcref, $argref)) |
|
740
|
0 |
4 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($node, $argref)) |
|
755
|
0 |
0 |
if (defined $$node{'children'}) { } |
|
|
0 |
0 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($node, $argref)) { } |
|
758
|
0 |
0 |
if ($depth) |
|
771
|
0 |
0 |
if ($self->_depth_traverse_post_order($current, $flags, $depth, $funcref, $argref)) |
|
776
|
0 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($node, $argref)) |
|
791
|
8 |
13 |
if (defined $$node{'children'}) { } |
|
|
1 |
12 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($node, $argref)) { } |
|
800
|
1 |
7 |
if ($self->_traverse_in_order($current, $flags, $funcref, $argref)) |
|
803
|
0 |
7 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($node, $argref)) |
|
810
|
2 |
9 |
if ($self->_traverse_in_order($current, $flags, $funcref, $argref)) |
|
826
|
0 |
0 |
if (defined $$node{'children'}) { } |
|
|
0 |
0 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($node, $argref)) { } |
|
829
|
0 |
0 |
if ($depth) { } |
|
|
0 |
0 |
elsif ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($node, $argref)) { } |
|
838
|
0 |
0 |
if ($self->_depth_traverse_in_order($current, $flags, $depth, $funcref, $argref)) |
|
841
|
0 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($node, $argref)) |
|
848
|
0 |
0 |
if ($self->_depth_traverse_in_order($current, $flags, $depth, $funcref, $argref)) |
|
878
|
15 |
35 |
if (defined $$current{'children'}) { } |
|
|
0 |
42 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($current, $argref)) { } |
|
879
|
0 |
15 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($current, $argref)) |
|
896
|
0 |
50 |
if (defined $$current{'children'} and $self->_traverse_children($current, $flags, $funcref, $argref)) |
|
918
|
0 |
0 |
if (defined $$current{'children'}) { } |
|
|
0 |
0 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS and &$funcref($current, $argref)) { } |
|
920
|
0 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($current, $argref)) |
|
930
|
0 |
0 |
unless ($depth) |
|
943
|
0 |
0 |
if (defined $$current{'children'} and $self->_depth_traverse_children($current, $flags, $depth, $funcref, $argref)) |
|
957
|
0 |
10 |
unless (defined $root) |
|
960
|
0 |
10 |
unless (defined $funcref) |
|
963
|
0 |
10 |
unless ($order <= $Tree::Nary::LEVEL_ORDER) |
|
966
|
0 |
10 |
unless ($flags <= $Tree::Nary::TRAVERSE_MASK) |
|
969
|
0 |
10 |
unless ($depth == -1 or $depth > 0) |
|
975
|
2 |
8 |
if ($order == $Tree::Nary::PRE_ORDER) |
|
977
|
2 |
0 |
if ($depth < 0) { } |
|
984
|
1 |
7 |
if ($order == $Tree::Nary::POST_ORDER) |
|
986
|
1 |
0 |
if ($depth < 0) { } |
|
993
|
2 |
5 |
if ($order == $Tree::Nary::IN_ORDER) |
|
995
|
2 |
0 |
if ($depth < 0) { } |
|
1002
|
5 |
0 |
if ($order == $Tree::Nary::LEVEL_ORDER) |
|
1004
|
5 |
0 |
if (defined $$root{'children'}) { } |
|
|
0 |
0 |
elsif ($flags & $Tree::Nary::TRAVERSE_LEAFS) { } |
|
1005
|
5 |
0 |
unless ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS and &$funcref($root, $argref)) |
|
1006
|
5 |
0 |
if ($depth < 0) { } |
|
1010
|
0 |
0 |
if ($depth) |
|
1029
|
0 |
2 |
unless (defined $root) |
|
1032
|
0 |
2 |
unless ($order <= $Tree::Nary::LEVEL_ORDER) |
|
1035
|
0 |
2 |
unless ($flags <= $Tree::Nary::TRAVERSE_MASK) |
|
1050
|
9 |
1 |
if ($$ref_of_array[0] ne $$node{'data'}) |
|
1069
|
0 |
1 |
unless (defined $node) |
|
1072
|
0 |
1 |
unless ($flags <= $Tree::Nary::TRAVERSE_MASK) |
|
1080
|
1 |
1 |
if ($$node{'data'} eq $data) |
|
1081
|
0 |
1 |
if ($self->is_leaf($node)) { } |
|
1082
|
0 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_LEAFS) |
|
1086
|
1 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS) |
|
1104
|
0 |
12 |
unless (defined $node) |
|
1107
|
0 |
12 |
unless ($flags <= $Tree::Nary::TRAVERSE_MASK) |
|
1110
|
0 |
12 |
unless (defined $funcref) |
|
1123
|
23 |
7 |
if ($self->is_leaf($current)) { } |
|
1124
|
23 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_LEAFS) |
|
1128
|
7 |
0 |
if ($flags & $Tree::Nary::TRAVERSE_NON_LEAFS) |
|
1155
|
7 |
4 |
if $self->is_leaf($node) |
|
1181
|
4 |
8 |
unless ($self->is_leaf($node)) |
|
1208
|
0 |
6 |
if $self->is_leaf($t1) and not $self->is_leaf($t2) or not $self->is_leaf($t1) and $self->is_leaf($t2) |
|
1212
|
0 |
6 |
if $self->n_children($t1) != $self->n_children($t2) |
|
1216
|
0 |
6 |
if $$t1{'data'} ne $$t2{'data'} |
|
1217
|
4 |
2 |
if $self->is_leaf($t1) |
|
1226
|
5 |
0 |
if $self->is_identical($t1childs[$i], $t2childs[$i]) == $Tree::Nary::TRUE |
|
1240
|
1 |
0 |
if $t1c eq $t2c |