NAME

PPIx::EditorTools::FindVariableDeclaration - Finds where a variable was declared using PPI

VERSION

version 0.21

SYNOPSIS

# finds declaration of variable at cursor
my $declaration = PPIx::EditorTools::FindVariableDeclaration->new->find(
  code =>
    "package TestPackage;\nuse strict;\nBEGIN {
  \$^W = 1;
}\nmy \$x=1;\n\$x++;"
  line => 5,
  column => 2,
);
my $location = $declaration->element->location;

DESCRIPTION

Finds the location of a variable declaration.

METHODS

new()

Constructor. Generally shouldn't be called with any arguments.

find( ppi => PPI::Document $ppi, line => $line, column => $column )
find( code => Str $code, line => $line, column => $column )

Accepts either a PPI::Document to process or a string containing the code (which will be converted into a PPI::Document) to process. Searches for the variable declaration and returns a PPIx::EditorTools::ReturnObject with the declaration (PPI::Statement::Variable) available via the element accessor.

Croaks with a "no token" exception if no token is found at the location. Croaks with a "no declaration" exception if unable to find the declaration.

SEE ALSO

This class inherits from PPIx::EditorTools. Also see App::EditorTools, Padre, and PPI.

AUTHORS

  • 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>

COPYRIGHT AND LICENSE

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.