NAME

Devel::XSCover::Deparse - a deparse for custom ops that have none

SYNOPSIS

perl -MDevel::XSCover::Deparse -MDevel::Cover ...

DESCRIPTION

Devel::Cover writes the text of every branch and condition it finds through B::Deparse, which deparses each op by a method named after the op. A custom op of a module that ships no such method falls to B::Deparse's own fallback, a warning of an unexpected custom op and XXX as the text, once for every line the op sits on. Loaded before the run, this module takes that fallback: a custom op without a method of its own deparses as its name with its deparsed kids in parentheses, frob($x, 1), and nothing else changes. The replacement is compiled in B::Deparse's own package, since perl sets $AUTOLOAD in the package of the sub it calls, and that package statement is split over two lines so the CPAN indexer does not read it as a claim on B::Deparse. A module that ships B::Deparse::pp_frob for its op is still the one asked first. xs_cover loads this into every covered process.

FUNCTIONS

custom

my $text = Devel::XSCover::Deparse::custom($deparser, $op, $cx);

The deparse of a custom op by its name and kids.

SEE ALSO

Devel::XSCover, B::Deparse