our $VERSION = '1.10';
+=head1 DESCRIPTION
+
+This subclass of L<XML::Twig> encapsulates an L<XML::Twig> parser inside the L<Test::Valgrind::Parser> framework.
+It is able to parse the XML output from C<valgrind> up to protocol version 4 and to generate the appropriate reports accordingly.
+
+=cut
+
use Scalar::Util ();
use base qw/Test::Valgrind::Parser::XML Test::Valgrind::Carp XML::Twig/;
=head2 C<protocol_version>
-The version of the protocol that the stream is currently conforming to.
+The version of the protocol that the current stream is conforming to.
It is reset before and after the parsing phase, so it's effectively only available from inside L</parse>.
=cut
our $VERSION = '1.10';
+=head1 DESCRIPTION
+
+This class provides a generic API for messages (the so-called I<reports>) generated by the parser, filtered by the tool and the command, and handled by the action.
+The tool has authority for deciding in which subclass of this one reports should be blessed.
+
+Reports are classified by I<kinds>.
+The C<Diag> kind is reserved for diagnostics.
+
+=cut
+
use base qw/Test::Valgrind::Carp/;
=head2 C<< new kind => $kind, id => $id, data => $data >>
=head2 C<< new_diag $data >>
-Constructs an object with kind C<'Diag'>, an auto-incremented identifier and the given C<$data>.
+Constructs a report with kind C<'Diag'>, an auto-incremented identifier and the given C<$data>.
=cut