NAME¶
PPIx::EditorTools::ReturnObject - Simple object to return values from
PPIx::EditorTools
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.