Provided by: libppix-editortools-perl_0.18-1_all
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.