Branch Coverage

blib/lib/FFI/Platypus/TypeParser/Version1.pm
Criterion Covered Total %
branch 74 76 97.3


line true false branch
36 2 235 if $alias =~ /\s/
37 2 233 unless $alias =~ /^[A-Za-z0-9_]+$/
39 4 229 if $reserved{$alias}
43 4 223 if defined $self->type_map->{$alias} or $self->types->{$alias} or $self->global_types->{'basic'}{$alias}
86 727 1935 if $self->types->{$name}
88 9 1926 unless $name =~ /^ # # \s* # prefix white space # (?: # # \( ([^)]*) \) -> (.*) # closure, argument types $1, return type $2 | # ( string | record ) \s* \( \s* ([0-9]+) \s* \) (?: \s* (\*) | ) # fixed record $3, fixed string $4, ponter $5 | # record \s* \( ( \s* (?: [A-Za-z_] [A-Za-z_0-9]* :: )* [A-Za-z_] [A-Za-z_0-9]* ) \s* \) (?: \s* (\*) | ) # record class $6, pointer $7 | # ( (?: [A-Za-z_] [A-Za-z_0-9]* \s+ )* [A-Za-z_] [A-Za-z_0-9]* ) \s* # unit type name $8 # (?: (\*) | \[ ([0-9]*) \] | ) # pointer $9, array $10 | # object \s* \( \s* ( (?: [A-Za-z_] [A-Za-z_0-9]* :: )* [A-Za-z_] [A-Za-z_0-9]* ) # object class $11 (?: \s*,\s* ( (?: [A-Za-z_] [A-Za-z_0-9]* \s+ )* [A-Za-z_] [A-Za-z_0-9]* ) )? # type $12 \s* \) # ) # # \s* # trailing white space # $/x
90 54 1872 if (defined(my $at = $1))
100 45 1827 if (defined(my $size = $4))
102 12 33 unless $size > 0
105 19 14 if (my $pointer = $5) { }
7 7 elsif ($opt->{'member'} or $3 eq 'string' and $self->_version > 1) { }
121 1 6 if ($self->_version > 1) { }
132 15 1812 if (defined(my $class = $6))
135 5 6 if (my $pointer = $7) { }
154 1786 26 if (defined(my $unit_name = $8))
156 1590 196 if ($self->global_types->{'basic'}{$unit_name})
158 69 1521 if (my $pointer = $9)
160 2 67 if $unit_name eq "void"
164 144 1377 if (defined(my $size = $10))
166 2 142 if $unit_name eq "void"
167 55 87 if ($size ne '') { }
169 2 53 if $size < 1
188 158 38 if (my $map_name = $self->type_map->{$unit_name})
190 14 144 if (my $pointer = $9)
194 19 125 if (defined(my $size = $10))
196 11 8 if ($size ne '') { }
198 2 9 if $size < 1
210 7 31 if (my $pointer = $9)
214 3 4 if ($unit_type->is_record_value)
225 2 2 if ($basic_name) { }
235 18 13 if (defined(my $size = $10))
239 14 4 if ($basic_name) { }
241 2 12 if ($size ne '') { }
243 0 2 if $size < 1
257 4 9 if ($name eq 'string ro') { }
7 2 elsif ($name eq 'string rw') { }
269 26 0 if (defined(my $class = $11))
273 24 2 if ($basic_type->is_object_ok) { }