Branch Coverage

blib/lib/ExtUtils/ParseXS/Node.pm
Criterion Covered Total %
branch 662 776 85.3


line true false branch
298 646 532 if (@fields and $fields[0] eq "-parent")
305 0 1178 if @bad
315 1178 0 if ($USING_FIELDS)
316 0 1178 unless eval "package $class; fields->import(\@fields); 1;"
342 19 0 if (eval "require Hash::Util; 1;")
355 8138 1657 unless defined $args
359 9795 0 if ($USING_FIELDS) { }
410 2265 1539 unless defined $flags
416 1 2069 unless $line =~ /\S/
421 323 1746 if ($flags & $keywords_flag_MODULE and ExtUtils::ParseXS::Utilities::looks_like_MODULE_line($line)) { }
790 956 elsif ($line =~ s/^(\s*)($pat)\s*:\s*(?:#.*)?/$1/s or $flags & $keywords_flag_NOT_IMPLEMENTED_YET and $line =~ s/^(\s*)(NOT_IMPLEMENTED_YET)/$1/) { }
446 1090 0 if ($node->parse($pxs, $xsub, $xbody))
452 160 930 if defined $max and $max >= $n
471 876 1614 if ($kids)
493 0 0 unless defined $depth
496 0 0 unless defined $f
498 0 0 if length $f > 10
501 0 0 defined $l ? :
517 0 0 if (not defined $v) { }
0 0 elsif (ref $v) { }
0 0 elsif ($v =~ /^-?\d+(\.\d+)?$/) { }
530 0 0 if length $v > $max
540 0 0 if ($self->{'kids'})
596 0 316 unless $preamble->parse($pxs, $self)
606 0 316 unless $C_part->parse($pxs, $self)
615 0 316 unless $C_part_postamble->parse($pxs, $self)
623 0 285 unless $cpp_scope->parse($pxs)
637 0 285 unless $pre_boot->parse($pxs)
645 0 285 unless $boot_xsub->parse($pxs)
650 0 285 unless $pxs->{'proto_behaviour_specified'}
704 283 2 if $pxs->{'config_WantLineNumbers'}
734 316 11 if (ExtUtils::ParseXS::Utilities::looks_like_MODULE_line($pxs->{'lastline'}))
744 1 10 $pxs->{'lastline'} =~ /^=/ ? :
749 0 11 unless $node->parse($pxs)
766 283 2 if $pxs->{'config_WantLineNumbers'}
797 1 4 if $cut
798 0 4 unless defined $pxs->{'lastline'}
843 1 0 if $pxs->{'config_WantLineNumbers'}
872 9 192 if ExtUtils::ParseXS::Utilities::looks_like_MODULE_line($pxs->{'lastline'})
873 1 191 if $pxs->{'lastline'} =~ /^=/
877 0 191 unless defined $pxs->{'lastline'}
1077 283 2 if $pxs->{'config_WantLineNumbers'}
1140 78 1209 unless @{$pxs->{'line'};}
1142 342 867 if (not defined $self->{'line_no'} and defined $pxs->{'line_no'}[0])
1151 0 1209 unless $pxs->{'line'}[0] =~ /\S/
1161 48 1161 if ($pxs->{'line'}[0] =~ /^#/)
1163 0 48 unless $node->parse($pxs)
1167 5 43 unless $node->{'is_cond'}
1171 24 19 unless ($node->{'is_if'})
1174 1 23 if $self->{'type'} ne "if"
1192 0 24 unless $scope->parse($pxs)
1199 0 23 unless (defined $last and $last->isa("ExtUtils::ParseXS::Node::global_cpp_line") and $last->{'is_cond'} and not $last->{'is_if'})
1214 21 2 if (grep {not ref($_) =~ /::global_cpp_line$/;} @{$$scope{"kids"};})
1223 18 5 if $last->{'is_endif'}
1255 2 1159 if $pxs->{'line'}[0] =~ /^\s/
1297 776 366 unless @{$pxs->{'line'};}
1302 3 355 unless $xsub->parse($pxs)
1309 4 351 if ($self->{'seen_xsubs'}{$name})
1320 0 355 if @{$pxs->{'line'};}
1335 21 289 if defined $g
1349 21 287 if (defined $g)
1385 0 48 unless my($directive, $rest) = $line =~ /^ \# \s* (\w+) (?:\s+ (.*) \s* $)?/sx
1387 24 24 unless defined $rest
1455 1 0 if ($pxs->{'config_WantLineNumbers'} and @{$self->{'lines'};} and not $self->{'lines'}[0] =~ /^\s*#\s*line\b/)
1644 282 1 $pxs->{'VERSIONCHECK_value'} ? :
1662 280 3 if $pxs->{'seen_an_XSUB'}
1680 282 1 if ($pxs->{'VERSIONCHECK_value'}) { }
1706 26 257 if ($pxs->{'need_boot_cv'})
1716 4 279 if (keys %{$$pxs{"map_overloaded_package_to_C_package"};})
1737 4 1 unless defined $fallback
1738 0 4 $fallback eq 'FALSE' ? :
1 4 $fallback eq 'TRUE' ? :
1760 26 257 if ($pxs->{'need_boot_cv'})
1768 13 270 if (@$later)
1778 13 0 if $pxs->{'config_WantLineNumbers'}
1928 3 363 unless $decl->parse($pxs, $self)
1956 39 703 if (defined $case) { }
1958 2 37 if $num > 1 and not $case_had_cond
1961 1 38 if $seen_bare_xbody
1966 357 346 if ($num++)
1969 355 2 unless @{$pxs->{'line'};}
1971 1 1 $l =~ /^$ExtUtils::ParseXS::BLOCK_regexp/o ? :
1982 0 379 unless $xbody->parse($pxs, $self)
1985 39 340 if (defined $case) { }
1998 17 0 if ($self->{'map_alias_name_to_value'} and keys %{$$self{"map_alias_name_to_value"};})
2003 12 5 unless defined $self->{'map_alias_name_to_value'}{$pname}
2020 1 353 $self->{'decl'}{'return_type'}{'extern_C'} ? :
2033 18 336 if $self->{'seen_ALIAS'}
2037 9 345 if ($self->{'seen_INTERFACE'})
2040 9 0 unless $pxs->{'config_RetainCplusplusHierarchicalTypes'}
2041 9 0 if $self->{'seen_INTERFACE'}
2057 0 354 if $pxs->{'config_allow_exceptions'}
2062 352 2 if ($condition_code) { }
2084 7 347 if $self->{'seen_PPCODE'}
2088 7 347 if $self->{'seen_PPCODE'}
2105 0 352 if $pxs->{'config_allow_exceptions'}
2116 0 352 if $^O eq "hpux"
2121 345 7 unless ($self->{'seen_PPCODE'})
2125 212 133 $nret ? :
2130 0 352 if $^O eq "hpux"
2159 51 301 if ($self->{'prototype'}) { }
2169 1 50 if ($self->{'prototype'} eq 2) { }
44 6 elsif ($self->{'prototype'} eq 1) { }
2191 17 335 if ($self->{'map_alias_name_to_value'} and keys %{$$self{'map_alias_name_to_value'};}) { }
4 331 elsif ($self->{'attributes'}) { }
9 322 elsif ($self->{'seen_INTERFACE'} or $self->{'seen_INTERFACE_MACRO'}) { }
277 45 elsif ($newXS eq 'newXS_deffile') { }
2227 11 0 unless $yname =~ /::/
2230 11 0 unless defined $macro
2306 1 365 unless $return_type->parse($pxs, $xsub)
2321 2 363 unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s
2328 1 362 if (defined $const and not defined $class)
2333 2 361 if ($return_type->{'static'} and not defined $class)
2346 0 363 if $ExtUtils::ParseXS::Is_VMS
2379 0 363 unless $params->parse($pxs, $xsub, $params_text)
2387 56 600 if defined $_->{'in_out'}
2431 10 356 if $type =~ s/^NO_OUTPUT\s+//
2449 40 326 if $pxs->{'config_allow_argtypes'} and $type =~ s/^(.*?\w.*?) \s* \b (\w+\s*\(.*)/$1/sx
2452 1 365 unless (@{$pxs->{'line'};})
2457 1 364 if $type =~ s/^extern "C"\s+//
2458 6 359 if $type =~ s/^static\s+//
2461 210 155 if ($type ne "void")
2470 179 31 if ($pxs->{'config_optimize'} and $outputmap and $outputmap->targetable_legacy)
2562 5 446 unless (defined $name)
2563 4 1 if (/^ SV \s* \* $/x)
2573 154 292 unless length $type and $type =~ /\S/
2579 29 417 if ($old_param)
2583 16 13 if ($name eq 'RETVAL' and $old_param->{'is_synthetic'} and not defined $old_param->{'arg_num'}) { }
2598 8 8 unless defined $type
2609 59 374 if (defined $out_type) { }
2610 58 1 if ($pxs->{'config_allow_inout'}) { }
2611 3 55 $out_type eq 'IN' ? :
2623 1 432 if (defined $type and not $pxs->{'config_allow_argtypes'})
2633 15 418 if ($name =~ /^length\( \s* (\w+) \s* \)\z/x)
2634 14 1 if ($pxs->{'config_allow_argtypes'}) { }
2637 1 13 if (defined $default)
2652 287 146 if (defined $type or $is_length)
2655 14 273 if ($is_length)
2662 56 377 if length $out_type
2663 43 390 if $out_type =~ /^OUT/
2669 29 404 if (defined $default)
2672 19 10 defined $type || $is_length ? :
2694 266 423 unless $self->{'arg_num'}
2696 39 384 unless defined $type
2698 5 379 unless defined $typemap
2700 375 4 unless defined $p and length $p
2762 12 635 if $self->{'is_length'}
2785 647 0 unless $pxs->{'config_RetainCplusplusHierarchicalTypes'}
2789 13 634 if (defined $init) { }
272 362 elsif ($no_init) { }
2793 0 13 if $no_init
2822 1 361 unless ($typemap)
2834 1 360 if $xsub->{'decl'}{'name'} =~ /DESTROY$/
2840 12 37 if ($xstype eq "T_PV" and $self->{'has_length'})
2841 0 12 if defined $default
2851 3 346 unless (defined $inputmap)
2873 6 340 if ($expr =~ /\bDO_ARRAY_ELEM\b/)
2875 1 5 unless ($subtypemap)
2882 1 4 unless ($subinputmap)
2899 1 343 if ($expr =~ m[/\*.*scope.*\*/]i)
2943 186 82 if ($var eq "RETVAL")
2952 0 186 if $do_setmagic
2974 3 265 unless (defined $type)
2996 265 0 unless $pxs->{'config_RetainCplusplusHierarchicalTypes'}
3002 43 222 if defined $out_num
3012 11 254 if (defined $output_code) { }
4 250 elsif ($type =~ /^array\(([^,]*),(.*)\)/) { }
3028 2 2 if ($var ne "RETVAL")
3031 1 1 defined $out_num ? :
3045 0 250 unless ($typemap)
3051 1 249 unless ($outputmap)
3064 42 220 defined $out_num ? :
3087 8 254 if (not defined $output_code and $expr =~ /\bDO_ARRAY_ELEM\b/)
3091 2 6 if ($var ne "RETVAL")
3103 1 1 defined $out_num ? :
3110 1 5 unless ($subtypemap)
3118 1 4 unless ($suboutputmap)
3155 14 631 if ($self->{'is_length'})
3201 1 644 if ($type =~ / \( \s* \* \s* \) /x) { }
3207 12 632 defined $xsub->{'decl'}{'class'} && $var eq 'CLASS' ? :
3215 2 643 unless $lookup
3221 6 637 unless defined $init_template
3223 11 626 unless ($is_template)
3235 356 270 length $init_template ? :
3241 21 605 if (defined $default and not defined $init and not $no_init) { }
280 325 elsif ($xsub->{'SCOPE_enabled'} or not $init_code =~ /^\s*\Q$var\E =/) { }
3258 1 20 if ($default eq 'NO_INIT') { }
3268 20 0 $init_code =~ /\S/ ? :
3292 10 270 if $init_code =~ /\S/
3299 0 325 unless $init_code =~ s/^\s*\Q$var\E(\s*=\s*)/$1/
3308 6 620 if (defined $defer)
3398 184 82 if ($var eq "RETVAL")
3416 44 222 if defined $out_num
3421 44 222 defined $out_num ? :
3422 0 266 unless $lookup
3428 10 256 unless defined $expr
3430 4 252 if ($saw_DAE) { }
11 241 elsif (not $is_template) { }
3464 33 219 if ($var ne "RETVAL" and not defined $out_num)
3480 0 33 unless (defined $num)
3488 3 30 defined $output_code ? :
3496 30 3 if not $self->{'in_output'} or $do_setmagic
3503 8 211 if (defined $output_code and not defined $out_num)
3508 0 8 if $xbody->{'output_part'}{'stack_was_reset'}
3586 9 202 if ($evalexpr =~ /^\s*\Q$arg\E\s*=/) { }
3591 6 3 if ($evalexpr =~ /^\s* \Q$arg\E \s*=\s* ( boolSV\(.*\) | &PL_sv_yes | &PL_sv_no | &PL_sv_undef | &PL_sv_zero ) \s*;\s*$ /x) { }
3613 1 2 if $ntype eq "SVPtr"
3641 170 32 if ($pxs->{'config_optimize'} and 'ExtUtils::Typemaps::OutputMap'->targetable($evalexpr) and not $xbody->{'output_part'}{'targ_used'}) { }
3687 18 193 if ($retvar eq 'TARG' and not $xsub->{'decl'}{'return_type'}{'use_early_targ'}) { }
34 159 elsif ($retvar eq 'RETVALSV') { }
3696 32 179 if $want_newmortal
3705 177 34 if $retvar ne "RETVALSV"
3707 210 1 unless ($evalexpr =~ /^\s*\Q$var\E\s*=\s*\Q$var\E\s*;\s*$/)
3712 3 208 if $do_mortalize
3716 205 6 unless $retvar eq $orig_arg
3718 52 159 if ($do_scope)
3730 60 151 if $xbody->{'output_part'}{'stack_was_reset'}
3841 259 104 if ($params_text =~ /\S/) { }
3847 259 0 if ($can_use_regex) { }
3869 27 336 if (defined $xsub->{'decl'}{'class'})
3875 2 13 $xsub->{'decl'}{'is_const'} ? :
12 15 $xsub->{'decl'}{'return_type'}{'static'} || $xsub->{'decl'}{'name'} eq 'new' ? :
3909 208 155 if ($xsub->{'decl'}{'return_type'}{'type'} ne "void")
3931 1 461 if $self->{'seen_ellipsis'}
3933 11 451 if ($param_text eq "...")
3939 14 437 unless $param->parse($pxs, $self, $param_text)
3943 433 4 unless $param->{'var'} eq "SV *"
3944 29 408 if defined $param->{'default'}
3950 390 14 unless defined $param->{'in_out'} and $param->{'in_out'} eq "OUTLIST" or $param->{'is_length'}
3958 642 14 unless $param->{'is_length'}
3960 13 1 if (exists $self->{'names'}{$name}) { }
3981 29 380 defined $_->{'default_usage'} ? :
3989 9 343 if $self->{'seen_ellipsis'}
4013 159 271 if $param->{'is_synthetic'} and not $param->{'var'} eq 'RETVAL' && defined $param->{'arg_num'}
4015 13 258 if ($param->{'is_length'})
4021 1 257 if ($param->{'var'} eq "SV *")
4028 212 45 unless defined $io
4033 12 245 unless defined $param->{'arg_num'} or $io eq "OUTLIST"
4036 46 199 if $param->{'is_addr'} or $io =~ /OUT/
4039 225 20 defined $t ? :
4059 76 1 defined $_->{'proto'} ? :
4063 8 36 if ($min < $self->{'nargs'})
4068 5 39 if $self->{'seen_ellipsis'}
4149 1897 0 if ($kid->parse($pxs, $xsub, $self))
4165 0 376 $pxs->{'config_allow_exceptions'} ? :
4168 376 0 if ($self->{'kids'})
4176 4 370 if ($xsub->{'SCOPE_enabled'})
4181 4 0 unless $xsub->{'seen_PPCODE'}
4187 0 374 if $pxs->{'config_allow_exceptions'}
4221 100 285 if ($input->parse($pxs, $xsub, $xbody) and $input->{'kids'} and @{$input->{'kids'};})
4246 42 647 unless defined $ioparam->{'type'}
4271 0 689 unless defined $name
4272 266 423 unless $ioparam->{'arg_num'}
4276 419 4 unless defined $ioproto
4277 2 421 if (defined $proto and $proto ne $ioproto)
4299 141 235 if ($self->{'kids'})
4304 4 372 if $xsub->{'SCOPE_enabled'}
4319 186 190 if ($xsub->{'decl'}{'return_type'}{'use_early_targ'})
4389 13 361 if ($self->{'kids'})
4413 121 258 if $self->parse_keywords($pxs, $xsub, $xbody, 1, "CODE|PPCODE", $keywords_flag_NOT_IMPLEMENTED_YET)
4425 0 258 unless $autocall->parse($pxs, $xsub, $xbody)
4439 374 0 if ($self->{'kids'})
4489 214 165 $xsub->{'CODE_sets_ST0'} || $xsub->{'decl'}{'return_type'}{'type'} ne 'void' && !$xsub->{'decl'}{'return_type'}{'no_output'} ? :
4519 464 23 unless defined $ioparam->{'in_out'} and $ioparam->{'in_out'} =~ /OUT$/ and not $ioparam->{'in_output'} or $ioparam->{'var'} eq "RETVAL" and $ioparam->{'in_output'} || $xbody->{'seen_autocall'} && $xsub->{'decl'}{'return_type'}{'type'} ne 'void' && !$xsub->{'decl'}{'return_type'}{'no_output'} or $ioparam->{'in_output'} and $ioparam->{'var'} ne "RETVAL"
4531 644 44 unless defined $ioparam->{'in_out'} and $ioparam->{'in_out'} =~ /OUTLIST$/
4552 68 306 if ($self->{'kids'})
4561 3 37 if ($xbody->{'seen_RETVAL_in_CODE'} and not $retval && $retval->{'in_output'} and $xsub->{'decl'}{'return_type'}{'type'} ne "void")
4577 15 667 if defined $_->{'in_out'} and $_->{'in_out'} =~ /OUT$/
4586 36 338 if ($extra)
4599 19 355 if $n > $ioparams->{'min_args'} + 1
4605 184 109 if ($retval and $retval->{'in_output'} or $xbody->{'seen_autocall'} and $xsub->{'decl'}{'return_type'}{'type'} ne "void" and not $xsub->{'decl'}{'return_type'}{'no_output'})
4618 60 622 if defined $_->{'in_out'}
4663 3 371 if ($self->{'kids'})
4717 4 319 unless my($module, $pkg, $prefix) = $line =~ /^ MODULE \s* = \s* ([\w:]+) (?: \s+ PACKAGE \s* = \s* ([\w:]+))? (?: \s+ PREFIX \s* = \s* (\S+))? \s* $/x
4729 319 0 defined $pkg ? :
4731 7 312 defined $prefix ? :
4737 319 0 if $pxs->{'PACKAGE_class'} ne ""
4793 35 3 if length $cond
4794 22 16 $self->{'num'} > 1 ? :
4826 18 240 if (defined $args) { }
4840 16 21 $param && defined $param->{'type'} ? :
4849 258 0 unless ($pxs->{'config_RetainCplusplusHierarchicalTypes'})
4867 1 253 if (defined $class and $name eq 'DESTROY') { }
4885 149 104 if ($ret_type ne "void")
4889 26 227 if (defined $class)
4890 4 22 if ($xsub->{'decl'}{'return_type'}{'static'}) { }
4892 2 2 if ($name eq 'new') { }
4900 7 15 if ($name eq 'new') { }
4911 0 253 if defined $strip
4914 9 244 if ($xsub->{'seen_INTERFACE'} or $xsub->{'seen_INTERFACE_MACRO'})
4918 9 0 unless $pxs->{'config_RetainCplusplusHierarchicalTypes'}
4954 0 1 if $s eq 1
4955 0 1 if $s eq 0
4958 0 1 unless $s =~ /^(TRUE|FALSE|UNDEF)$/
4987 0 1 unless length $ver
4991 0 1 unless $ver =~ /^\d+(\.\d*)?/
4995 0 1 unless $got >= $ver
5026 1 1 if ($is_cmd) { }
5027 0 1 if $^O eq "VMS"
5029 0 1 unless length $f
5032 0 1 if $f =~ /^\s*\|/ or $f =~ /\|\s*$/
5036 0 1 unless length $f
5039 0 1 if $f =~ /^\s*\|/
5044 0 1 if $pxs->{'IncludedFiles'}{$f}
5046 1 0 unless $f =~ /\|\s*$/
5048 0 1 if ($f =~ /\|\s*$/ and $f =~ /^\s*perl\s/)
5075 1 1 if ($is_cmd) { }
5081 0 1 unless open $pxs->{'in_fh'}, "-|", $f
5086 0 1 unless open $pxs->{'in_fh'}, $f
5095 1 1 if ($is_cmd) { }
5104 0 1 $^O =~ /^mswin/i ? :
5110 2 2 unless /^\s*$/
5123 0 2 unless $cpp_scope->parse($pxs)
5128 1 1 unless $isPipe
5136 0 1 if ($isPipe and $?)
5151 1 1 $self->{'is_cmd'} ? :
5235 309 20 if ($keyword eq 'PROTOTYPES') { }
5242 3 306 unless ($s =~ /^ ((ENABLE|DISABLE) D? ;?) \s* $ /xi)
5246 27 279 $en_dis eq 'ENABLE' ? :
5247 4 302 unless ($value =~ /^(ENABLE|DISABLE)$/)
5249 2 2 $self->{'enable'} ? :
5254 13 7 unless $s =~ /^(ENABLE|DISABLE)\s*$/
5256 5 2 $1 eq 'ENABLE' ? :
5293 0 0 $self->{'enable'} ? :
5356 4 2 if ($xsub)
5358 1 3 if $xsub->{'seen_SCOPE'}
5366 4 2 if $xsub
5528 9 0 unless defined $macro
5532 9 0 unless $pxs->{'config_RetainCplusplusHierarchicalTypes'}
5563 0 0 if ($s =~ /\s/) { }
5677 1 11 if $xsub->{'seen_PROTOTYPE'}
5681 6 12 unless /\S/
5684 2 10 if ($_ eq 'DISABLE') { }
1 9 elsif ($_ eq 'ENABLE') { }
5692 1 8 unless ExtUtils::ParseXS::Utilities::valid_proto_string($_)
5699 1 9 unless defined $proto
5739 134 0 if @lines
5748 120 14 if ($pxs->{'config_WantLineNumbers'} and not defined $line0 && ($line0 =~ /^\s*#\s*line\b/ || $line0 =~ /^#if XSubPPtmp/))
5766 120 14 if $pxs->{'config_WantLineNumbers'}
5830 1 111 if defined $xsub->{'CODE_sets_ST0'} and $xsub->{'CODE_sets_ST0'} ne $st0
5890 1 7 if @{$pxs->{'line'};}
5910 0 7 if $xsub->{'SCOPE_enabled'}
5913 0 7 if $^O eq "hpux"
5921 0 7 if $^O eq "hpux"
5968 157 201 if ($do_notimplemented)
5971 2 155 if $pxs->{'line'}[0] =~ /^\s*NOT_IMPLEMENTED_YET/
5974 67 289 unless ($pxs->{'line'}[0] =~ /\S/)
5986 264 25 if ($kid->parse($pxs, $xsub, $xbody, $self))
6003 6 178 unless $self->{'kids'}
6111 0 57 unless $line
6124 1 57 if not $is_symbolic and $value =~ /:/
6129 54 4 unless $alias =~ /::/
6131 11 47 if ($is_symbolic)
6133 9 2 unless $value =~ /::/
6134 10 1 if (defined $xsub->{'map_alias_name_to_value'}{$value}) { }
0 1 elsif ($value eq $fname) { }
6146 4 54 if (defined $prev_value)
6147 1 3 if ($prev_value eq $value) { }
6162 47 11 unless ($is_symbolic)
6164 37 10 unless $xsub->{'map_alias_value_to_name_seen_hash'}{$value}
6169 4 43 if $value eq 0 and not defined $xsub->{'map_alias_name_to_value'}{$fname}
6170 7 5 if (@keys and $pxs->{'config_author_warnings'})
6186 3 4 $value eq '0' ? :
3 4 !$xsub->{'alias_clash_hinted'}++ ? :
6199 1 56 if $line
6288 131 20 unless $line =~ /[=;+].*\S/
6294 21 130 if $line =~ s/\s* ([=;+]) \s* (.*) $//sx
6324 1 150 unless (my($var_type, $var_addr, $var_name) = $line =~ /^ ( .*? [^&\s] ) # type \s* (\&?) # addr \s* \b (\w+ | length\(\w+\)) # name or length(name) $ /sx)
6330 2 148 if ($var_name =~ /^length\((\w+)\)$/)
6342 136 12 if (defined $ioparam) { }
6351 8 128 if ($ioparam->{'in_input'} or not $ioparam->{'is_synthetic'} and defined $ioparam->{'type'})
6359 11 3 if ($var_name eq "RETVAL" and $ioparam->{'is_synthetic'})
6363 6 5 unless (defined $ioparam->{'arg_num'})
6398 20 120 if (not $no_init and defined $init_op) { }
6402 1 19 if ($init_op =~ /^[=;]$/ and $var_init =~ /^NO_INIT\s*;?\s*$/) { }
13 6 elsif ($init_op eq '=') { }
6430 11 109 if $is_alien
6474 8 132 if $ioparam->{'is_synthetic'}
6521 0 81 unless $line =~ /\S/
6529 6 75 if ($line =~ /^\s*SETMAGIC\s*:\s*(ENABLE|DISABLE)\s*/)
6530 3 3 $1 eq 'ENABLE' ? :
6548 2 71 if ($ioparam and $ioparam->{'in_output'})
6553 3 45 if ($outarg eq "RETVAL" and $xsub->{'decl'}{'return_type'}{'no_output'})
6561 3 67 if (not $ioparam or $outarg ne "RETVAL" and not $ioparam->{'arg_num'})
6572 44 23 $outarg eq 'RETVAL' ? :
6573 11 56 if length $outcode
6615 44 23 if $self->{'name'} eq "RETVAL"
6618 0 23 unless $ioparam