| line |
true |
false |
branch |
|
31
|
0 |
117 |
unless ($k =~ /^(debug|fatal_errors)\z/) |
|
99
|
2 |
0 |
unless ref $self |
|
104
|
0 |
2 |
if (ref $file) { } |
|
106
|
0 |
0 |
unless binmode $file, ':utf8' |
|
111
|
0 |
2 |
unless open my $PARSER_FILE, $file |
|
112
|
0 |
2 |
unless binmode $PARSER_FILE, ':utf8' |
|
125
|
0 |
4 |
unless $object =~ /^(node|group|graph|edge)\z/ |
|
158
|
27 |
14 |
if @{$$self{'stack'};} == 0 |
|
161
|
33 |
8 |
if ($target and $target eq 'parent') |
|
166
|
33 |
0 |
if ref $stack |
|
167
|
22 |
11 |
unless (defined $object) |
|
172
|
22 |
0 |
if (not $stack or @$stack <= 1) |
|
180
|
0 |
41 |
if $$self{'error'} |
|
182
|
0 |
41 |
if (ref $$stack[-1] eq 'HASH') |
|
193
|
0 |
41 |
if $$self{'debug'} and $$self{'debug'} > 1 |
|
195
|
1 |
40 |
if ($max_idx != 1) { } |
|
212
|
2 |
39 |
if (defined $$a{'basename'}) |
|
217
|
2 |
4 |
if exists $$s{'autosplit_parts'} |
|
235
|
0 |
729 |
if $$self{'error'} |
|
251
|
0 |
57 |
unless defined $name |
|
257
|
15 |
42 |
if ($name eq '') { } |
|
259
|
0 |
15 |
if $$self{'debug'} |
|
266
|
0 |
42 |
if $$self{'debug'} |
|
273
|
2 |
55 |
if (@$group_stack > 0) |
|
297
|
0 |
44 |
unless defined $end |
|
300
|
35 |
9 |
if $end eq '[' |
|
301
|
1 |
43 |
if $end eq '(' |
|
306
|
8 |
36 |
if ($end eq ')') { } |
|
310
|
0 |
8 |
if $$self{'debug'} |
|
328
|
0 |
36 |
unless defined $group |
|
330
|
0 |
36 |
if $$self{'debug'} |
|
333
|
0 |
36 |
if $$self{'error'} |
|
370
|
0 |
98 |
unless defined $att |
|
395
|
0 |
63 |
if $$self{'error'} |
|
400
|
26 |
37 |
if (defined $$self{'left_edge'}) |
|
409
|
2 |
26 |
if $edge_bd |
|
410
|
0 |
28 |
if $edge_un |
|
425
|
0 |
780 |
if @{$$self{'stack'};} == 0 |
|
432
|
13 |
68 |
unless defined $2 or defined $5 |
|
444
|
0 |
780 |
if $$self{'error'} |
|
448
|
68 |
712 |
if defined $edge_label |
|
450
|
68 |
712 |
if defined $edge_label |
|
477
|
0 |
6 |
if @{$$self{'stack'};} == 0 |
|
483
|
0 |
0 |
unless defined $2 or defined $5 |
|
493
|
0 |
6 |
if defined $13 and $13 eq '[' |
|
494
|
0 |
6 |
if defined $13 and $13 eq '(' |
|
497
|
0 |
6 |
if $$self{'error'} |
|
505
|
0 |
6 |
if $edge_label |
|
507
|
0 |
6 |
if $edge_label |
|
518
|
6 |
0 |
if defined $13 and $13 eq ')' |
|
559
|
4 |
338 |
if ((ref $self || $self) eq 'Graph::Easy::Parser' and $txt =~ m[^(\s*|\s*/\*.*?\*/\s*)(strict)?$o_cmt(di)?graph$o_cmt("[^"]*"|[\w_]+)$o_cmt\{]im || $txt =~ m[^(\s*|\s*/\*.*?\*/\s*)(strict)?${o_cmt}digraph$o_cmt\{]im || $txt =~ m[^(\s*|\s*/\*.*?\*/\s*)strict$o_cmt(di)?graph$o_cmt\{]im) |
|
571
|
40 |
1 |
if (ref $self) |
|
578
|
41 |
0 |
if ref $self |
|
581
|
13 |
427 |
if ((ref $self || $self) eq 'Graph::Easy::Parser' and $txt =~ m[^([\s\n\t]*|\s*/\*.*?\*/\s*)graph\s*:\s*\{]m) |
|
589
|
13 |
0 |
if (ref $self) |
|
596
|
13 |
0 |
if ref $self |
|
599
|
8 |
432 |
unless ref $self |
|
603
|
1 |
439 |
if not defined $txt or $txt =~ /^\s*\z/ |
|
610
|
1317 |
439 |
unless $o eq 'graph' |
|
635
|
3573 |
2329 |
if (@lines > 0 and $handled == 0) |
|
641
|
2019 |
1554 |
if $curline =~ /$qr_comment/ |
|
650
|
0 |
3883 |
if $$self{'debug'} and $$self{'debug'} > 2 |
|
651
|
0 |
3883 |
if $$self{'debug'} and $$self{'debug'} > 2 |
|
659
|
1253 |
18676 |
if $line eq '' |
|
664
|
0 |
18676 |
if $$self{'debug'} and $$self{'debug'} > 3 |
|
666
|
2693 |
15983 |
if ($line =~ /$pattern/) |
|
669
|
0 |
2693 |
if $$self{'debug'} and $$self{'debug'} > 2 |
|
671
|
2658 |
35 |
if defined $handler |
|
672
|
2514 |
179 |
if ($rc) |
|
674
|
2509 |
5 |
unless defined $replace |
|
675
|
5 |
2509 |
if ref $replace |
|
676
|
0 |
2514 |
if $$self{'debug'} and $$self{'debug'} > 2 |
|
678
|
0 |
2514 |
if $$self{'debug'} and $$self{'debug'} > 2 |
|
691
|
12 |
3871 |
if $handled == 0 and @lines == 0 |
|
694
|
0 |
3871 |
if $$self{'error'} |
|
697
|
12 |
427 |
if $backbuffer ne '' |
|
700
|
0 |
427 |
if not $$self{'error'} and $$self{'scope_stack'} and @{$$self{'scope_stack'};} > 0 |
|
702
|
0 |
439 |
if $$self{'error'} and $$self{'fatal_errors'} |
|
706
|
0 |
439 |
if $$graph{'debug'} |
|
709
|
439 |
0 |
if $self->can('_parser_cleanup') |
|
727
|
2 |
784 |
if $ed =~ /^(= )+\z/ |
|
728
|
22 |
764 |
if $ed =~ /^=+\z/ |
|
729
|
30 |
756 |
if $ed =~ /^\.+\z/ |
|
730
|
7 |
779 |
if $ed =~ /^(- )+\z/ |
|
731
|
1 |
785 |
if $ed =~ /^(..-)+\z/ |
|
732
|
21 |
765 |
if $ed =~ /^(\.-)+\z/ |
|
733
|
4 |
782 |
if $ed =~ /^\~+\z/ |
|
734
|
0 |
786 |
if $ed =~ /^#+\z/ |
|
761
|
841 |
128 |
unless ref $e eq 'ARRAY' |
|
765
|
969 |
128 |
if (ref $a) { } |
|
773
|
0 |
128 |
if $$self{'error'} |
|
779
|
29 |
940 |
if $edge_bd |
|
780
|
23 |
946 |
if $edge_un |
|
798
|
0 |
2286 |
unless defined $name |
|
804
|
714 |
1572 |
unless $no_collapse |
|
826
|
2 |
63 |
if (exists $$self{'clusters'}{$base_name}) |
|
831
|
3 |
2 |
if $$self{'cluster_id'} |
|
832
|
2 |
3 |
unless exists $$self{'clusters'}{$base_try} |
|
835
|
2 |
0 |
if $$self{'cluster_id'} |
|
854
|
0 |
2 |
if $$node{'autosplit_basename'} eq $new_basename |
|
862
|
0 |
6 |
if $$self{'debug'} > 1 |
|
886
|
50 |
15 |
unless defined $allow_empty |
|
896
|
17 |
48 |
if exists $$att{'basename'} |
|
905
|
0 |
65 |
if $$graph{'debug'} |
|
920
|
45 |
143 |
if ($qr_clean) |
|
926
|
2 |
184 |
if ($add == 0 and $remaining eq '' and $sep =~ /\|\|?/) |
|
932
|
0 |
188 |
if $$graph{'debug'} |
|
935
|
12 |
176 |
if ($allow_empty and $part eq ' ') { } |
|
|
10 |
166 |
elsif ($part =~ /^[ ]{2,}\z/) { } |
|
953
|
0 |
188 |
if ($$graph{'debug'}) |
|
956
|
0 |
0 |
if $class ne $$self{'use_class'}{'node'} |
|
957
|
0 |
0 |
if $$graph{'debug'} |
|
961
|
12 |
176 |
if ($class =~ /::Empty/) |
|
964
|
11 |
1 |
unless (defined $node) |
|
979
|
65 |
123 |
if (@rc == 1) { } |
|
987
|
17 |
48 |
if defined $$att{'basename'} |
|
997
|
16 |
107 |
if ($last_sep eq '||') |
|
1016
|
16 |
172 |
if ($sep eq '||') |
|
1033
|
0 |
1900 |
if $$graph{'debug'} |
|
1042
|
22 |
1878 |
if ($name =~ /^\s*\z/) { } |
|
|
50 |
1828 |
elsif (ref $self eq 'Graph::Easy::Parser' and $name =~ /[^\\]\|/) { } |
|
1044
|
0 |
22 |
if $$graph{'debug'} |
|
1068
|
0 |
1828 |
if ($$self{'debug'}) |
|
1070
|
0 |
0 |
if (not $graph->node($name)) { } |
|
1082
|
0 |
1900 |
if exists $$att{'basename'} and not $autosplit |
|
1089
|
94 |
1806 |
if (defined $stack) |
|
1101
|
105 |
1888 |
if $group |
|
1106
|
2 |
1898 |
if defined $b |
|
1244
|
340 |
2659 |
if ref $object |
|
1245
|
1580 |
1419 |
unless defined $class |
|
1254
|
421 |
2578 |
if $self->can('_match_multi_line_comment') |
|
1256
|
421 |
2578 |
if $self->can('_match_special_attribute') |
|
1259
|
2333 |
666 |
if $text =~ /^\s*\z/ |
|
1261
|
0 |
666 |
if $$self{'debug'} > 3 |
|
1265
|
0 |
877 |
if $$self{'debug'} > 3 |
|
1268
|
262 |
615 |
if $qr_cmt |
|
1271
|
1 |
876 |
if $text =~ /^\s*\z/ |
|
1277
|
28 |
4 |
if $done == 0 and $qr_satt and $text =~ s/^$qr_satt// |
|
1279
|
4 |
872 |
if $done == 0 |
|
1283
|
28 |
844 |
unless defined $v |
|
1289
|
0 |
662 |
if ($$self{'debug'} and $$self{'debug'} > 1) |
|
1296
|
174 |
488 |
if $self->can('_remap_attributes') |
|
1304
|
19 |
818 |
if defined $rc |
|
1306
|
10 |
827 |
if ref $v eq 'ARRAY' |
|
1308
|
818 |
19 |
if defined $v |
|
1311
|
621 |
41 |
unless wantarray |
|
1324
|
1 |
2 |
if $msg_nr == 1 |
|
1326
|
1 |
2 |
if $msg_nr == 2 |
|
1328
|
1 |
2 |
if $msg_nr == 3 |
|
1330
|
0 |
3 |
if $msg_nr == 4 |
|
1332
|
0 |
3 |
if $msg_nr == 5 |
|
1335
|
0 |
3 |
if $msg_nr == 6 |
|
1337
|
0 |
3 |
if $msg_nr == 7 |
|
1358
|
50 |
1076 |
if $$n{'autosplit'} |
|
1359
|
0 |
1076 |
if $n->attribute('offset') ne '0,0' and $n->attribute('origin') eq '' |