logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

PPIx::Utilities::Statement - Extensions to PPI::Statement.

Author

       Thomas R. Wyant, III "<wyant at cpan dot org>"

Bugs And Limitations

       Please report any bugs or feature requests to "bug-ppix-utilities@rt.cpan.org", or through the web
       interface at <http://rt.cpan.org>.

Description

       This is a collection of functions for dealing with PPI::Statements.

Interface

       Nothing is exported by default.

   "get_constant_name_elements_from_declaring_statement($statement)"
       Given a PPI::Statement, if the statement is a Readonly or Const::Fast declaration statement or a "use
       constant", returns the names of the things being defined.

       Given

           use constant 1.16 FOO => 'bar';

       this will return the PPI::Token::Word containing 'FOO'.  Given

           use constant 1.16 { FOO => 'bar', 'BAZ' => 'burfle' };

       this will return a list of the PPI::Tokens containing 'FOO' and 'BAZ'. Similarly, given

           Readonly::Hash my %FOO => ( bar => 'baz' );

       or

           const my %FOO => ( bar => 'baz' );

       this will return the PPI::Token::Symbol containing '%FOO'.

Name

       PPIx::Utilities::Statement - Extensions to PPI::Statement.

Synopsis

           use PPI::Document qw< >;

           use PPIx::Utilities::Statement qw<
               get_constant_name_elements_from_declaring_statement
           >;

           my $document = PPI::Document->new(\'Readonly::Scalar my $THINGY => 47.2;');

           # Returns the PPI::Token::Symbol for "$THINGY".
           my ($constant) = get_constant_name_elements_from_declaring_statement(
               $document->schild(0)
           );

Version

       This document describes PPIx::Utilities::Statement version 1.1.0.

See Also