FFI-Platypus-Lang-Pascal
view release on metacpan or search on metacpan
lib/FFI/Platypus/Lang/Pascal.pm view on Meta::CPAN
my($class, @libs) = @_;
my %mangle;
foreach my $libpath (@libs)
{
extract_symbols($libpath,
export => sub {
my($symbol1, $symbol2) = @_;
return if $symbol1 =~ /^THREADVARLIST_/;
return unless $symbol1 =~ /^[A-Z0-9_]+(\$[A-Z0-9_]+)*(\$\$[A-Z0-9_]+)?$/;
my $symbol = $symbol1;
my $ret = '';
$ret = $1 if $symbol =~ s/\$\$([A-Z_]+)$//;
my($name, @args) = split /\$/, $symbol;
$symbol = "${name}(" . join(',', @args) . ')';
$symbol .= ":$ret" if $ret;
push @{ $mangle{$name} }, [ $symbol, $symbol1 ];
},
);
}
( run in 0.988 second using v1.01-cache-2.11-cpan-94b05bcf43c )