| line | true | false | branch | 
 
| 107 | 0 | 0 | unless (defined $variable) | 
 
| 109 | 0 | 0 | if ($type eq 'unknown') { } | 
 
|  | 0 | 0 | elsif ($type eq 'boolean') { } | 
 
|  | 0 | 0 | elsif ($type eq 'integer') { } | 
 
|  | 0 | 0 | elsif ($type eq 'character') { } | 
 
|  | 0 | 0 | elsif ($type eq 'string') { } | 
 
| 128 | 0 | 0 | unless (defined $variable) | 
 
| 132 | 0 | 0 | if ($type eq 'unknown') { } | 
 
|  | 0 | 0 | elsif ($type eq 'boolean') { } | 
 
|  | 0 | 0 | elsif ($type eq 'integer') { } | 
 
|  | 0 | 0 | elsif ($type eq 'number') { } | 
 
|  | 0 | 0 | elsif ($type eq 'character') { } | 
 
|  | 0 | 0 | elsif ($type eq 'string') { } | 
 
| 161 | 0 | 1864 | unless (defined $variable) | 
 
| 162 | 1864 | 0 | unless (defined $recurse_level) | 
 
| 169 | 0 | 1864 | if ($is_type->{'number'}) { } | 
 
|  | 0 | 1864 | elsif ($is_type->{'integer'}) { } | 
 
|  | 1864 | 0 | elsif ($is_type->{'string'}) { } | 
 
| 181 | 0 | 0 | unless (defined $variable) | 
 
| 182 | 0 | 0 | unless (defined $recurse_level) | 
 
| 186 | 0 | 0 | if ($is_type->{'integer'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'number'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'string'}) { } | 
 
| 216 | 0 | 1864 | if (defined $is_type->{'class'}) | 
 
| 229 | 0 | 0 | unless (defined $recurse_level) | 
 
| 230 | 0 | 0 | unless (defined $is_type) | 
 
| 241 | 0 | 0 | if (not defined $variable) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'integer'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'number'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'string'}) { } | 
 
| 246 | 0 | 0 | if (defined $type) { } | 
 
|  | 0 | 0 | elsif ($recurse_level <= 0) { } | 
 
| 254 | 0 | 0 | if ($is_type->{'blessed'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'arrayref'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'hashref'}) { } | 
 
| 271 | 0 | 0 | if ($is_type->{'blessed'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'arrayref'}) { } | 
 
|  | 0 | 0 | elsif ($is_type->{'hashref'}) { } | 
 
| 280 | 0 | 0 | if (not defined $subtypes->[1]) { } | 
 
| 309 | 0 | 0 | if (not defined $subtypes->[1]) { } | 
 
| 323 | 0 | 0 | if (not defined $subtype) { } | 
 
|  | 0 | 0 | elsif ($is_homogeneous) { } | 
 
| 325 | 0 | 0 | if ($subtype eq 'object') | 
 
| 337 | 0 | 0 | if ($subtype eq 'object' and $subtypes->[0] eq 'object' and $subtype_class ne $subtypes->[1]{'object'}{'__CLASS'}) { } | 
 
| 346 | 0 | 0 | if ($object_mismatch or $subtype ne $subtypes->[0]) | 
 
| 353 | 0 | 0 | if ($object_mismatch) | 
 
| 360 | 0 | 0 | if (scalar @{$reverse_split_subtypes_0;} < $shorter_split_length) | 
 
| 367 | 0 | 0 | if ($reverse_split_subtype->[$i] eq $reverse_split_subtypes_0->[$i]) | 
 
| 368 | 0 | 0 | if ($new_subtype eq '') { } | 
 
| 376 | 0 | 0 | if ($new_subtype ne '') { } | 
 
| 387 | 0 | 0 | if ($is_homogeneous) | 
 
| 390 | 0 | 0 | if (not defined $subtype or $subtype eq 'unknown') | 
 
| 391 | 0 | 0 | if ($subtype ne '') | 
 
| 414 | 0 | 0 | if (not defined $subtypes->[1]) { } | 
 
| 428 | 0 | 0 | if (not defined $subtype) { } | 
 
|  | 0 | 0 | elsif ($is_homogeneous) { } | 
 
| 430 | 0 | 0 | if ($subtype eq 'object') | 
 
| 442 | 0 | 0 | if ($subtype eq 'object' and $subtypes->[0] eq 'object' and $subtype_class ne $subtypes->[1]{'object'}{'__CLASS'}) { } | 
 
| 451 | 0 | 0 | if ($object_mismatch or $subtype ne $subtypes->[0]) | 
 
| 458 | 0 | 0 | if ($object_mismatch) | 
 
| 465 | 0 | 0 | if (scalar @{$reverse_split_subtypes_0;} < $shorter_split_length) | 
 
| 472 | 0 | 0 | if ($reverse_split_subtype->[$i] eq $reverse_split_subtypes_0->[$i]) | 
 
| 473 | 0 | 0 | if ($new_subtype eq '') { } | 
 
| 481 | 0 | 0 | if ($new_subtype ne '') { } | 
 
| 492 | 0 | 0 | if ($is_homogeneous) | 
 
| 495 | 0 | 0 | if (not defined $subtype or $subtype eq 'unknown') | 
 
| 496 | 0 | 0 | if ($subtype ne '') | 
 
| 531 | 0 | 19 | if ($types_input ne 'PERL' and $types_input ne 'CPP') |