Provided by: libppix-editortools-perl_0.21-1_all bug

NAME

       PPIx::EditorTools::ReturnObject - Simple object to return values from PPIx::EditorTools

VERSION

       version 0.21

SYNOPSIS

         my $brace = PPIx::EditorTools::FindUnmatchedBrace->new->find(
               code => "package TestPackage;\nsub x { 1;\n"
             );
         my $location = $brace->element->location;
         my $ppi      = $brace->element->ppi;

DESCRIPTION

       Retuning a simple "PPI::Element" from many of the "PPIx::EditorTools" methods often
       results in the loss of the overall context for that element.
       "PPIx::EditorTools::ReturnObject" provides an object that can be passed around which
       retains the overall context.

       For example, in "PPIx::EditorTools::FindUnmatchedBrace" if the unmatched brace were
       returned by its "PPI::Structure::Block" the containing "PPI::Document" is likely to go out
       of scope, thus the "location" method no longer returns a valid location (rather it returns
       undef).  Using the "ReturnObject" preserves the "PPI::Document" and the containing
       context.

METHODS

       new()
           Constructor which should be used by "PPIx::EditorTools". Accepts the following named
           parameters:

           ppi A "PPI::Document" representing the (possibly modified) code.

           code
               A string representing the (possibly modified) code.

           element
               A "PPI::Element" or a subclass thereof representing the interesting element.

       ppi Accessor to retrieve the "PPI::Document". May create the "PPI::Document" from the
           $code string (lazily) if needed.

       code
           Accessor to retrieve the string representation of the code. May be retrieved from the
           "PPI::Document" via the serialize method (lazily) if needed.

SEE ALSO

       "PPIx::EditorTools", App::EditorTools, Padre, and PPI.

AUTHORS

       •   Steffen Mueller "smueller@cpan.org"

       •   Mark Grimes "mgrimes@cpan.org"

       •   Ahmad M. Zawawi <ahmad.zawawi@gmail.com>

       •   Gabor Szabo  <gabor@szabgab.com>

       •   Yanick Champoux <yanick@cpan.org>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2017, 2014, 2012 by The Padre development team as listed in
       Padre.pm..

       This is free software; you can redistribute it and/or modify it under the same terms as
       the Perl 5 programming language system itself.