PPIx::EditorTools::ReturnObject - Simple object to return values from
PPIx::EditorTools
my $brace = PPIx::EditorTools::FindUnmatchedBrace->new->find(
code => "package TestPackage;\nsub x { 1;\n"
);
my $location = $brace->element->location;
my $ppi = $brace->element->ppi;
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.
- 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.
"PPIx::EditorTools", App::EditorTools, Padre,
and PPI.
- 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>
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.