line |
true |
false |
branch |
126
|
180 |
810 |
if (&looks_like_instance($defaults{$key}, 'ARRAY')) { }
|
|
45 |
765 |
elsif (&looks_like_instance($defaults{$key}, 'HASH')) { }
|
167
|
265 |
48 |
if (not $self->{'_linemode'}) { }
|
|
48 |
0 |
elsif ($self->{'_linemode'}) { }
|
169
|
10 |
1050 |
if ($raw_token =~ qr/^\[/)
|
176
|
415 |
635 |
if (exists $self->{$lower_case_token} and not $private_block) { }
|
|
634 |
2 |
elsif ($self->{'_current'} and not $private_block) { }
|
178
|
415 |
0 |
if (ref $self->{$lower_case_token} eq 'CODE')
|
199
|
0 |
0 |
if ($self->{'_begin'} and not exists $self->{$lower_case_token} and not $private_block)
|
208
|
0 |
1 |
if ($private_block and $token_queue->[-2] eq 'end' and $token_queue->[-1] eq ';') { }
|
333
|
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) { }
|
334
|
20 |
312 |
if ($continue) { }
|
377
|
9 |
11 |
if ($q eq '"' or $q eq q[']) { }
|
|
11 |
0 |
elsif ($q eq '[') { }
|
378
|
9 |
0 |
if ($remainder =~ /^(${q}[^$q]*?$q)(.*)$/) { }
|
|
0 |
0 |
elsif ($remainder =~ /^${q}[^$q]*$/) { }
|
395
|
3 |
827 |
if substr($line, $i, 1) eq '['
|
396
|
8 |
822 |
if ($i and not $INSIDE_QUOTE)
|
405
|
11 |
811 |
if substr($line, $i, 1) eq ']'
|
416
|
6 |
0 |
if $continue
|
417
|
0 |
6 |
if ($q eq '"' or $q eq q[']) { }
|
|
6 |
0 |
elsif ($q eq ']') { }
|
424
|
3 |
411 |
if substr($line, $i, 1) eq '['
|
425
|
3 |
411 |
if ($i and not $INSIDE_QUOTE)
|
427
|
3 |
0 |
if ($continue) { }
|
436
|
6 |
405 |
if substr($line, $i, 1) eq ']'
|
438
|
3 |
0 |
if ($continue) { }
|
455
|
0 |
15 |
if ($INSIDE_QUOTE)
|
467
|
352 |
20 |
if (not $word =~ /$QUOTES_OR_BRACKETS/mx) { }
|
485
|
13 |
13 |
if ($block->_type == $TAXA) { }
|
|
13 |
0 |
elsif ($block->_type != $TAXA and $block->can('set_taxa')) { }
|
489
|
0 |
13 |
if ($taxa->[-1] and $taxa->[-1]->can('_type') == $TAXA and not $block->get_taxa)
|
503
|
156 |
702 |
if (&looks_like_instance($defaults{$key}, 'ARRAY')) { }
|
|
39 |
663 |
elsif (&looks_like_instance($defaults{$key}, 'HASH')) { }
|
527
|
14 |
0 |
if (uc $_[0] eq '#NEXUS')
|
539
|
13 |
5 |
if ($self->{'_begin'}) { }
|
555
|
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+|-)/) { }
|
580
|
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+|-)/) { }
|
604
|
0 |
0 |
if (defined $token and uc $token eq 'NO')
|
612
|
11 |
14 |
if (defined $token and uc $token ne 'TITLE')
|
614
|
11 |
0 |
if (not $self->_current->get_name)
|
624
|
0 |
2 |
if (defined $token and not $token =~ /^(?:LINK|TAXA|=)$/i)
|
626
|
0 |
0 |
if (not $self->_current->get_taxa)
|
628
|
0 |
0 |
if ($block->get_name and $block->get_name eq $link)
|
646
|
13 |
26 |
if (defined $_[0] and $_[0] =~ /^\d+$/)
|
655
|
59 |
13 |
if (defined $_[0] and uc $_[0] ne 'TAXLABELS') { }
|
|
13 |
0 |
elsif (defined $_[0] and uc $_[0] eq 'TAXLABELS') { }
|
670
|
0 |
0 |
if (defined $_[0] and uc $_[0] ne 'BLOCKID')
|
679
|
0 |
0 |
if ($self->{'_begin'})
|
688
|
9 |
0 |
if ($self->{'_begin'})
|
697
|
9 |
18 |
if (defined $_[0] and $_[0] =~ /^\d+$/)
|
711
|
9 |
18 |
if (defined $_[0] and not $_[0] =~ /^(?:DATATYPE|=)/i)
|
720
|
0 |
0 |
if (defined $_[0] and not $_[0] =~ /^(?:MATCHCHAR|=)/i)
|
734
|
9 |
18 |
if (not $_[0] =~ /^(?:GAP|=)/i || $self->{'_gap'})
|
745
|
9 |
18 |
if (not $_[0] =~ /^(?:MISSING|=)/i || $self->{'_missing'})
|
756
|
5 |
10 |
if (not $_[0] =~ /^(?:SYMBOLS|=)$/i and $_[0] =~ /^"?(.+)"?$/)
|
767
|
0 |
0 |
if (defined $_[0] and uc $_[0] ne 'CHARLABELS')
|
776
|
16 |
2 |
if (defined $token and uc $token ne 'CHARSTATELABELS')
|
784
|
0 |
0 |
if (defined $token and uc $token ne 'STATELABELS')
|
785
|
0 |
0 |
if ($token eq ',') { }
|
801
|
9 |
48 |
unless (defined $self->{'_matrixtype'})
|
803
|
0 |
9 |
if (@{$self->{'_charlabels'};})
|
807
|
0 |
9 |
if (@{$self->{'_statelabels'};})
|
811
|
0 |
9 |
if (my(@symbols) = @{$self->{'_symbols'};})
|
815
|
0 |
0 |
if ($lookup)
|
817
|
0 |
0 |
unless (exists $lookup->{$sym})
|
832
|
9 |
81 |
if $token eq ';'
|
836
|
39 |
42 |
if (not defined $rowname || $token =~ /$COMMENT/) { }
|
|
42 |
0 |
elsif (defined $rowname and not $token =~ /$COMMENT/) { }
|
838
|
0 |
39 |
if ($taxa = $self->_current->get_taxa) { }
|
|
39 |
0 |
elsif ($taxa = $self->_find_last_seen_taxa_block) { }
|
839
|
0 |
0 |
if (my $taxon = $taxa->get_by_name($token)) { }
|
847
|
39 |
0 |
if (my $taxon = $taxa->get_by_name($token)) { }
|
857
|
39 |
0 |
unless (exists $self->{'_matrix'}{$rowname})
|
864
|
6 |
36 |
if ($self->{'_matrixtype'} =~ /^continuous$/i) { }
|
878
|
84 |
96 |
if ($self->{'_context'}[$i]->_type == $TAXA)
|
879
|
2 |
82 |
if ($name) { }
|
880
|
1 |
1 |
if ($self->{'_context'}[$i]->get_name eq $name)
|
896
|
5 |
0 |
if ($self->{'_context'}[$i]->_type == $MATRIX)
|
897
|
2 |
3 |
if ($name) { }
|
898
|
1 |
1 |
if ($self->{'_context'}[$i]->get_name eq $name)
|
914
|
74 |
0 |
if (my $taxon = $taxa->get_by_name($obj->get_name)) { }
|
934
|
88 |
44 |
if (my $taxon = $obj->get_taxon)
|
940
|
30 |
14 |
if (my $taxa = $container->get_taxa)
|
946
|
42 |
2 |
if (my $taxa = $self->_find_last_seen_taxa_block) { }
|
973
|
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) { }
|
974
|
228 |
0 |
if defined $c
|
996
|
0 |
0 |
if ($self->{'_begin'})
|
1012
|
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;}) { }
|
1059
|
1 |
8 |
if ($self->_current->get_nchar != $self->{'_nchar'}) { }
|
|
0 |
16 |
elsif (defined $self->{'_ntax'} and $self->_current->get_ntax != $self->{'_ntax'}) { }
|
1091
|
5 |
0 |
if ($self->{'_begin'})
|
1103
|
5 |
166 |
if ($i and $i == 1)
|
1107
|
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 ';') { }
|
1124
|
13 |
13 |
unless ($self->{'_treename'} or $_[0] =~ /^(U?TREE|\*)$/i)
|
1127
|
13 |
199 |
if ($_[0] eq '=' and not $self->{'_treestart'})
|
1130
|
173 |
26 |
if ($_[0] ne '=' and $self->{'_treestart'})
|
1136
|
13 |
173 |
if ($self->{'_treestart'} and $self->{'_tree'} and $self->{'_tree'} =~ tr/(// == $self->{'_tree'} =~ tr/)//)
|
1142
|
1 |
12 |
exists $translate->[0] ? :
|
1165
|
5 |
20 |
if (uc $self->{'_previous'} eq ';' and $self->{'_trees'})
|
1196
|
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') { }
|
1202
|
0 |
0 |
if (not $self->_current->get_ntax)
|
1219
|
2 |
0 |
if (ref $range eq 'ARRAY')
|
1222
|
2 |
2 |
if ($range->[0] and $range->[0] eq '-') { }
|
1233
|
6 |
0 |
if ($character) { }
|
1248
|
1 |
1 |
if ($matrix->get_type =~ /continuous/i) { }
|
1255
|
0 |
2 |
if $index != $charnum
|
1261
|
1 |
1 |
if (@labels)
|
1262
|
1 |
0 |
$labels[0] eq ',' ? :
|
1276
|
0 |
2 |
if $index != $charnum
|
1283
|
0 |
2 |
if $slash ne '/'
|
1291
|
1 |
1 |
if (@labels)
|
1292
|
1 |
0 |
$labels[0] eq ',' ? :
|
1311
|
2 |
4 |
if ($range->[0] and $range->[0] eq '-') { }
|
1322
|
8 |
0 |
if ($taxon) { }
|
1338
|
1 |
12 |
if ($self->_current->get_ntax != $self->{'_ntax'})
|
1361
|
0 |
0 |
if (@{$self->{'_charlabels'};})
|
1369
|
0 |
0 |
if (@{$self->{'_statelabels'};})
|