logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

PPI::Dumper - Dumping of PDOM trees

Author

       Adam Kennedy <adamk@cpan.org>

Description

       The PDOM trees in PPI are quite complex, and getting a dump of their structure for development and
       debugging purposes is important.

       This module provides that functionality.

       The process is relatively simple. Create a dumper object with a particular set of options, and then call
       one of the dump methods to generate the dump content itself.

Methods

new$Element,param=>value,...
       The "new" constructor creates a dumper, and takes as argument a single PPI::Element object of any type to
       serve as the root of the tree to be dumped, and a number of key->value parameters to control the output
       format of the Dumper. Details of the parameters are listed below.

       Returns a new "PPI::Dumper" object, or "undef" if the constructor is not passed a correct PPI::Element
       root object.

       memaddr
           Should the dumper print the memory addresses of each PDOM element.  True/false value, off by default.

       indent
           Should  the  structures being dumped be indented. This value is numeric, with the number representing
           the number of spaces to use when indenting the dumper output. Set to '2' by default.

       class
           Should the dumper print the full class for each element.  True/false value, on by default.

       content
           Should the dumper show the content of each element. True/false value, on by default.

       whitespace
           Should the dumper show whitespace tokens. By not showing the copious numbers of whitespace tokens the
           structure of the code can often be made much clearer. True/false value, on by default.

       comments
           Should the dumper show comment tokens. In situations where you have a lot of comments, the  code  can
           often be made clearer by ignoring comment tokens. True/false value, on by default.

       locations
           Should  the  dumper  show the location of each token. The values shown are [ line, rowchar, column ].
           See "location" in PPI::Element for a description of what these values really are.  True/false  value,
           off by default.

   print
       The "print" method generates the dump and prints it to STDOUT.

       Returns as for the internal print function.

   string
       The "string" method generates the dump and provides it as a single string.

       Returns a string or undef if there is an error while generating the dump.

   list
       The "list" method generates the dump and provides it as a raw list, without trailing newlines.

       Returns a list or the null list if there is an error while generating the dump.

Name

       PPI::Dumper - Dumping of PDOM trees

Support

       See the support section in the main module.

Synopsis

         # Load a document
         my $Module = PPI::Document->new( 'MyModule.pm' );

         # Create the dumper
         my $Dumper = PPI::Dumper->new( $Module );

         # Dump the document
         $Dumper->print;

See Also