4
私は修正PL_op_name
なぜコールバックが呼び出されないのですか?
padsv
から
use B::Generate;
use B::OPCheck padsv => check => sub {
my $op = shift;
print "HERE";
};
my $x;
1;
でB::OPCheckモジュールからサンプルスクリプトを持っていますが、コールバックが呼び出されません。
このプログラムをデパースとき、私はこの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]
と呼ばれていないのはなぜか? opが最初に構築され、子OPSが移入された後、それが通過OPのほとんど(すべてではない)タイプの
フィルタリングされます:hereが答えているようだ
UPD
この配列の適切な要素によって参照されるチェック関数
しかし、チェック機能でフィルタリングされるopsのリストはどこにありますか?