I have the example script from B::OPCheck module with modified PL_op_name
to padsv
use B::Generate;
use B::OPCheck padsv => check => sub {
my $op = shift;
print "HERE";
};
my $x;
1;
But callback is not called.
When deparsing this program I can see this OP
:
$perl -Ilib -Iblib/arch -MO=Terse ~/tmp/xs.pl
LISTOP (0x19828f0) leave [1]
OP (0x1c27ef0) enter
COP (0x1982938) nextstate
OP (0x1982998) padsv [1] <<<< HERE IT IS
COP (0x1c27f38) nextstate
OP (0x1c27f98) null [5]
Why callback is not called?
UPD
It seems here is the answer:
For most (but not all) types of op, once the op has been initially built and populated with child ops it will be filtered through the check function referenced by the appropriate element of this array
But where to find the list of ops which will be filtered through the check function?