Graphics-VTK
view release on metacpan or search on metacpan
* parseWrap: Tweaks to parseWrap to recognize single array return
types. 'xsubpp' now parses Common.xs without barfing.
2002-10-20 09:35 cerney
* typemap: Fixed typemap
2002-10-20 09:18 cerney
* parseWrap, Common/Common.xs: Modified to not use PPCODE sections
in xs code. These are now emulated wih CODE sections and some extra
XS macros. For some reason, xsubpp did not like PPCODE sections in
multiple CASE section in a XS function. This made overridden methods
that return a list of values (e.g. vtkDataArray::GetRange)
impossible to implement in XS code.
2002-10-19 10:25 cerney
* VTK.pm, cmakeParse, makeBindings, parseVTKdir, parseWrap,
Common/Common.pm, Common/Common.xs, Common/typemapCommon,
Graphics/Graphics.pm, Graphics/Graphics.xs,
Graphics/typemapGraphics: Trying to get the newly parsed Common.xs
}
if( @preInitLines ){
print join("\n", ("\t\tPREINIT:", @preInitLines))."\n";
}
my $retValText = "RETVAL";
if( $listSize){ # Returning a list:
$retValText = "retval";
# We are emulating a 'PPCODE' section with 'CODE' text because
# xsubpp doesn't like multiple CASE's with PPCODEs in them.
print "\t\tCODE:\n";
print "\t\tSP -= items;\n\t\t";
}
else{
print "\t\tCODE:\n\t\t";
}
# Check for needing a initialization due to args dims
my $indx = 0;
}
else{
$XSmacro = 'newSVnv';
}
print "\t\tEXTEND(SP, $listSize);\n";
foreach ( ( 0..($listSize-1))){
print "\t\tPUSHs(sv_2mortal(".$XSmacro."(retval[".$_."])));\n"
}
# This stuff is needed because we are emulating a PPCODE section
# using a CODE section, because xsubpp doesn't like multiple CASE's with PPCODEs in them.
print "\t\tPUTBACK;\n";
print "\t\treturn;\n";
}
elsif( $returnType =~ /^\s*(static\s+)?void$/){
print "\t\tXSRETURN_EMPTY;\n";
}
else{
push @$outputs, 'RETVAL';
( run in 0.743 second using v1.01-cache-2.11-cpan-5511b514fd6 )