PP
サブが呼び出されると、このCX
サブの が作成されます。
このコンテキストにアクセスすることで、CxHASARGS(CX_CUR())
このサブルーチンをチェックできhasargs
ます。
ただし、XSUB
コンテキストが作成されていないため、このトリックは使用できません。
XSUB
を使用して呼び出されたかどうかを知ることは可能&sub
ですか?
UPD
のソースをpp_entersub
見るcv
とXSUB
. コードが をどのように処理するかを見ることができますhasargs
。アクセスPL_op->op_flags & OPf_STACKED
し、少し後でターゲットを呼び出しますXSUB
。
if( PL_op->op_flags & OPf_STACKED ...
...
CvXSUB(cv)(aTHX_ cv);
XSUB
で同じチェックをしてもよろしいPL_op->op_flags & OPf_STACKED
でしょうか?