גאבור סבו - Gábor Szabó > PPIx-EditorTools > PPIx::EditorTools::ReturnObject

Download:
PPIx-EditorTools-0.19.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.18   Source  

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.

syntax highlighting: