Registers a name and its configuration into L<Sub::Op>.
The caller is responsible for allocating and freeing the C<sub_op_config_t> object.
No pointer to it or to its members is kept, except if you pass the flag C<SUB_OP_REGISTER_STEAL> in which case the configuration object will be stolen to be stored into L<Sub::Op>'s internal datastructure.
Registers a name and its configuration into L<Sub::Op>.
The caller is responsible for allocating and freeing the C<sub_op_config_t> object.
No pointer to it or to its members is kept, except if you pass the flag C<SUB_OP_REGISTER_STEAL> in which case the configuration object will be stolen to be stored into L<Sub::Op>'s internal datastructure.
Free the memory associated with the specified C<sub_op_config_t> object.
Free the memory associated with the specified C<sub_op_config_t> object.
-=head2 C<OP *sub_op_study(OP *o, OP **last_arg_p, OP **rv2cv_p)>
+=head2 C<sub_op_study>
+
+ OP *sub_op_study(OP *o, OP **last_arg_p, OP **rv2cv_p);
Studies the subset of the optree based on C<o>, expecting it to be an C<entersub> or C<rv2cv> op (the ones you get in the C<call> and C<ref> callbacks).
If the tree is well-formed, C<*last_arg_p> will be set to the last argument of the call, C<*rv2cv_p> to the C<rv2cv> op that resolves the function name, and the C<gv> op will be returned.
Studies the subset of the optree based on C<o>, expecting it to be an C<entersub> or C<rv2cv> op (the ones you get in the C<call> and C<ref> callbacks).
If the tree is well-formed, C<*last_arg_p> will be set to the last argument of the call, C<*rv2cv_p> to the C<rv2cv> op that resolves the function name, and the C<gv> op will be returned.
@@ -303,7+313,10 @@ Otherwise, this function returns C<NULL>.
=head1 PERL API
=head1 PERL API
-=head2 C<enable $name, [ $pkg ]>
+=head2 C<enable>
+
+ enable($name);
+ enable($name, $pkg);
Enable the capture of function calls and references constructors to C<$name> in the C<$pkg> package in the current lexical scope.
You must have registered an appropriate C<sub_op_config_t> configuration by calling the C function C<sub_op_register> in the XS section of your module.
Enable the capture of function calls and references constructors to C<$name> in the C<$pkg> package in the current lexical scope.
You must have registered an appropriate C<sub_op_config_t> configuration by calling the C function C<sub_op_register> in the XS section of your module.