NAME

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

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 ) =item 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.

AUTHOR

Steffen Mueller smueller@cpan.org Mark Grimes mgrimes@cpan.org

COPYRIGHT AND LICENSE

Copyright 2008-2009 The Padre development team as listed in Padre.pm.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.