| PPIx-EditorTools documentation | view source | Contained in the PPIx-EditorTools distribution. |
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.
Constructor which should be used by PPIx::EditorTools. Accepts the following
named parameters:
A PPI::Document representing the (possibly modified) code.
A string representing the (possibly modified) code.
A PPI::Element or a subclass thereof representing the interesting element.
Accessor to retrieve the PPI::Document. May create the PPI::Document
from the $code string (lazily) if needed.
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.
| PPIx-EditorTools documentation | view source | Contained in the PPIx-EditorTools distribution. |