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'};})
|