FFI-Platypus-Lang-Pascal
view release on metacpan or search on metacpan
lib/FFI/Platypus/Lang/Pascal.pm view on Meta::CPAN
242243244245246247248249250251252253254255256257258259260261262my
(
$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.234 second using v1.01-cache-2.11-cpan-94b05bcf43c )