line |
true |
false |
branch |
125
|
180 |
810 |
if (&looks_like_instance($defaults{$key}, 'ARRAY')) { } |
|
45 |
765 |
elsif (&looks_like_instance($defaults{$key}, 'HASH')) { } |
166
|
265 |
48 |
if (not $self->{'_linemode'}) { } |
|
48 |
0 |
elsif ($self->{'_linemode'}) { } |
168
|
10 |
1050 |
if ($raw_token =~ qr/^\[/) |
175
|
415 |
635 |
if (exists $self->{$lower_case_token} and not $private_block) { } |
|
634 |
2 |
elsif ($self->{'_current'} and not $private_block) { } |
177
|
415 |
0 |
if (ref $self->{$lower_case_token} eq 'CODE') |
198
|
0 |
0 |
if ($self->{'_begin'} and not exists $self->{$lower_case_token} and not $private_block) |
207
|
0 |
1 |
if ($private_block and $token_queue->[-2] eq 'end' and $token_queue->[-1] eq ';') { } |
332
|
332 |
76 |
if (not $line =~ /$QUOTES_OR_BRACKETS/mx || $INSIDE_QUOTE) { } |
|
20 |
56 |
elsif ($line =~ /$OPENING_QUOTE_OR_BRACKET/mx and not $INSIDE_QUOTE) { } |
|
30 |
26 |
elsif (not $line =~ /$CONTEXT_CLOSER/ and $INSIDE_QUOTE) { } |
|
20 |
6 |
elsif ($line =~ /$CONTEXT_QB_AT_START/ and $INSIDE_QUOTE) { } |
|
6 |
0 |
elsif ($line =~ /$CONTEXT_CLOSER/ and $INSIDE_QUOTE) { } |
333
|
20 |
312 |
if ($continue) { } |
376
|
9 |
11 |
if ($q eq '"' or $q eq q[']) { } |
|
11 |
0 |
elsif ($q eq '[') { } |
377
|
9 |
0 |
if ($remainder =~ /^(${q}[^$q]*?$q)(.*)$/) { } |
|
0 |
0 |
elsif ($remainder =~ /^${q}[^$q]*$/) { } |
394
|
3 |
827 |
if substr($line, $i, 1) eq '[' |
395
|
8 |
822 |
if ($i and not $INSIDE_QUOTE) |
404
|
11 |
811 |
if substr($line, $i, 1) eq ']' |
415
|
6 |
0 |
if $continue |
416
|
0 |
6 |
if ($q eq '"' or $q eq q[']) { } |
|
6 |
0 |
elsif ($q eq ']') { } |
423
|
3 |
411 |
if substr($line, $i, 1) eq '[' |
424
|
3 |
411 |
if ($i and not $INSIDE_QUOTE) |
426
|
3 |
0 |
if ($continue) { } |
435
|
6 |
405 |
if substr($line, $i, 1) eq ']' |
437
|
3 |
0 |
if ($continue) { } |
454
|
0 |
15 |
if ($INSIDE_QUOTE) |
466
|
352 |
20 |
if (not $word =~ /$QUOTES_OR_BRACKETS/mx) { } |
484
|
13 |
13 |
if ($block->_type == $TAXA) { } |
|
13 |
0 |
elsif ($block->_type != $TAXA and $block->can('set_taxa')) { } |
488
|
0 |
13 |
if ($taxa->[-1] and $taxa->[-1]->can('_type') == $TAXA and not $block->get_taxa) |
502
|
156 |
702 |
if (&looks_like_instance($defaults{$key}, 'ARRAY')) { } |
|
39 |
663 |
elsif (&looks_like_instance($defaults{$key}, 'HASH')) { } |
526
|
14 |
0 |
if (uc $_[0] eq '#NEXUS') |
538
|
13 |
5 |
if ($self->{'_begin'}) { } |
554
|
2 |
15 |
if (not $token =~ /CHARSET/i || $self->{'_charset'}{'name'}) { } |
|
1 |
14 |
elsif ($token =~ /^\(/) { } |
|
1 |
13 |
elsif (defined $self->{'_charset'}{'matrix'} and not $self->{'_charset'}{'matrix'} and not $token =~ /(?:\(?CHARACTERS|=)/i) { } |
|
8 |
5 |
elsif ($token =~ /(?:\d+|-)/) { } |
579
|
2 |
17 |
if (not $token =~ /TAXSET/i || $self->{'_taxset'}{'name'}) { } |
|
1 |
16 |
elsif ($token =~ /^\(/) { } |
|
1 |
15 |
elsif (defined $self->{'_taxset'}{'taxa'} and not $self->{'_taxset'}{'taxa'} and not $token =~ /(?:\(?TAXA|=)/) { } |
|
10 |
5 |
elsif ($token =~ /(?:\d+|-)/) { } |
603
|
0 |
0 |
if (defined $token and uc $token eq 'NO') |
611
|
11 |
14 |
if (defined $token and uc $token ne 'TITLE') |
613
|
11 |
0 |
if (not $self->_current->get_name) |
623
|
0 |
2 |
if (defined $token and not $token =~ /^(?:LINK|TAXA|=)$/i) |
625
|
0 |
0 |
if (not $self->_current->get_taxa) |
627
|
0 |
0 |
if ($block->get_name and $block->get_name eq $link) |
645
|
13 |
26 |
if (defined $_[0] and $_[0] =~ /^\d+$/) |
654
|
59 |
13 |
if (defined $_[0] and uc $_[0] ne 'TAXLABELS') { } |
|
13 |
0 |
elsif (defined $_[0] and uc $_[0] eq 'TAXLABELS') { } |
669
|
0 |
0 |
if (defined $_[0] and uc $_[0] ne 'BLOCKID') |
678
|
0 |
0 |
if ($self->{'_begin'}) |
687
|
9 |
0 |
if ($self->{'_begin'}) |
696
|
9 |
18 |
if (defined $_[0] and $_[0] =~ /^\d+$/) |
710
|
9 |
18 |
if (defined $_[0] and not $_[0] =~ /^(?:DATATYPE|=)/i) |
719
|
0 |
0 |
if (defined $_[0] and not $_[0] =~ /^(?:MATCHCHAR|=)/i) |
733
|
9 |
18 |
if (not $_[0] =~ /^(?:GAP|=)/i || $self->{'_gap'}) |
744
|
9 |
18 |
if (not $_[0] =~ /^(?:MISSING|=)/i || $self->{'_missing'}) |
755
|
5 |
10 |
if (not $_[0] =~ /^(?:SYMBOLS|=)$/i and $_[0] =~ /^"?(.+)"?$/) |
766
|
0 |
0 |
if (defined $_[0] and uc $_[0] ne 'CHARLABELS') |
775
|
16 |
2 |
if (defined $token and uc $token ne 'CHARSTATELABELS') |
783
|
0 |
0 |
if (defined $token and uc $token ne 'STATELABELS') |
784
|
0 |
0 |
if ($token eq ',') { } |
800
|
9 |
48 |
unless (defined $self->{'_matrixtype'}) |
802
|
0 |
9 |
if (@{$self->{'_charlabels'};}) |
806
|
0 |
9 |
if (@{$self->{'_statelabels'};}) |
810
|
0 |
9 |
if (my(@symbols) = @{$self->{'_symbols'};}) |
814
|
0 |
0 |
if ($lookup) |
816
|
0 |
0 |
unless (exists $lookup->{$sym}) |
831
|
9 |
81 |
if $token eq ';' |
835
|
39 |
42 |
if (not defined $rowname || $token =~ /$COMMENT/) { } |
|
42 |
0 |
elsif (defined $rowname and not $token =~ /$COMMENT/) { } |
837
|
0 |
39 |
if ($taxa = $self->_current->get_taxa) { } |
|
39 |
0 |
elsif ($taxa = $self->_find_last_seen_taxa_block) { } |
838
|
0 |
0 |
if (my $taxon = $taxa->get_by_name($token)) { } |
846
|
39 |
0 |
if (my $taxon = $taxa->get_by_name($token)) { } |
856
|
39 |
0 |
unless (exists $self->{'_matrix'}{$rowname}) |
863
|
6 |
36 |
if ($self->{'_matrixtype'} =~ /^continuous$/i) { } |
877
|
84 |
96 |
if ($self->{'_context'}[$i]->_type == $TAXA) |
878
|
2 |
82 |
if ($name) { } |
879
|
1 |
1 |
if ($self->{'_context'}[$i]->get_name eq $name) |
895
|
5 |
0 |
if ($self->{'_context'}[$i]->_type == $MATRIX) |
896
|
2 |
3 |
if ($name) { } |
897
|
1 |
1 |
if ($self->{'_context'}[$i]->get_name eq $name) |
913
|
74 |
0 |
if (my $taxon = $taxa->get_by_name($obj->get_name)) { } |
933
|
88 |
44 |
if (my $taxon = $obj->get_taxon) |
939
|
30 |
14 |
if (my $taxa = $container->get_taxa) |
945
|
42 |
2 |
if (my $taxa = $self->_find_last_seen_taxa_block) { } |
972
|
228 |
0 |
if (not $in_set || exists $brackets{$c}) { } |
|
0 |
0 |
elsif (not $in_set and exists $brackets{$c}) { } |
|
0 |
0 |
elsif ($in_set and $c ne $close) { } |
|
0 |
0 |
elsif ($in_set and $c eq $close) { } |
973
|
228 |
0 |
if defined $c |
995
|
0 |
0 |
if ($self->{'_begin'}) |
1011
|
9 |
48 |
if (not &looks_like_instance($token, 'ARRAY') and uc $token eq 'MATRIX') { } |
|
39 |
9 |
elsif (&looks_like_instance($token, 'ARRAY') and not grep({/^;$/;} @{$token;})) { } |
|
9 |
0 |
elsif (&looks_like_instance($token, 'ARRAY') and grep {/^;$/;} @{$token;}) { } |
1058
|
1 |
8 |
if ($self->_current->get_nchar != $self->{'_nchar'}) { } |
|
0 |
16 |
elsif (defined $self->{'_ntax'} and $self->_current->get_ntax != $self->{'_ntax'}) { } |
1090
|
5 |
0 |
if ($self->{'_begin'}) |
1102
|
5 |
166 |
if ($i and $i == 1) |
1106
|
57 |
114 |
if (not defined $i and $_[0] =~ /^\d+$/) { } |
|
57 |
57 |
elsif (defined $i and exists $self->{'_translate'}[$i] and not defined $self->{'_translate'}[$i] and $_[0] ne ';') { } |
1123
|
13 |
13 |
unless ($self->{'_treename'} or $_[0] =~ /^(U?TREE|\*)$/i) |
1126
|
13 |
199 |
if ($_[0] eq '=' and not $self->{'_treestart'}) |
1129
|
173 |
26 |
if ($_[0] ne '=' and $self->{'_treestart'}) |
1135
|
13 |
173 |
if ($self->{'_treestart'} and $self->{'_tree'} and $self->{'_tree'} =~ tr/(// == $self->{'_tree'} =~ tr/)//) |
1141
|
1 |
12 |
exists $translate->[0] ? : |
1164
|
5 |
20 |
if (uc $self->{'_previous'} eq ';' and $self->{'_trees'}) |
1195
|
0 |
189 |
if (uc $self->{'_previous'} eq 'MATRIX') { } |
|
2 |
187 |
elsif (uc $self->{'_previous'} eq 'CHARSET') { } |
|
2 |
185 |
elsif (uc $self->{'_previous'} eq 'CHARSTATELABELS') { } |
|
2 |
183 |
elsif (uc $self->{'_previous'} eq 'TAXSET') { } |
|
13 |
170 |
elsif (uc $self->{'_previous'} eq 'TAXLABELS') { } |
|
5 |
165 |
elsif (uc $self->{'_previous'} eq 'SYMBOLS') { } |
|
0 |
165 |
elsif (uc $self->{'_previous'} eq 'CHARLABELS') { } |
|
0 |
165 |
elsif (uc $self->{'_previous'} eq 'STATELABELS') { } |
1201
|
0 |
0 |
if (not $self->_current->get_ntax) |
1218
|
2 |
0 |
if (ref $range eq 'ARRAY') |
1221
|
2 |
2 |
if ($range->[0] and $range->[0] eq '-') { } |
1232
|
6 |
0 |
if ($character) { } |
1247
|
1 |
1 |
if ($matrix->get_type =~ /continuous/i) { } |
1254
|
0 |
2 |
if $index != $charnum |
1260
|
1 |
1 |
if (@labels) |
1261
|
1 |
0 |
$labels[0] eq ',' ? : |
1275
|
0 |
2 |
if $index != $charnum |
1282
|
0 |
2 |
if $slash ne '/' |
1290
|
1 |
1 |
if (@labels) |
1291
|
1 |
0 |
$labels[0] eq ',' ? : |
1310
|
2 |
4 |
if ($range->[0] and $range->[0] eq '-') { } |
1321
|
8 |
0 |
if ($taxon) { } |
1337
|
1 |
12 |
if ($self->_current->get_ntax != $self->{'_ntax'}) |
1360
|
0 |
0 |
if (@{$self->{'_charlabels'};}) |
1368
|
0 |
0 |
if (@{$self->{'_statelabels'};}) |