CentOS 7.0 - man page for perl::critic::utils::ppi (centos section 3)

Linux & Unix Commands - Search Man Pages

Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


Perl::Critic::Utils::PPI(3)    User Contributed Perl Documentation    Perl::Critic::Utils::PPI(3)

NAME
       Perl::Critic::Utils::PPI - Utility functions for dealing with PPI objects.

DESCRIPTION
       Provides classification of PPI::Elements.

INTERFACE SUPPORT
       This is considered to be a public module.  Any changes to its interface will go through a
       deprecation cycle.

IMPORTABLE SUBS
       "is_ppi_expression_or_generic_statement( $element )"
	   Answers whether the parameter is an expression or an undifferentiated statement.  I.e.
	   the parameter either is a PPI::Statement::Expression or the class of the parameter is
	   PPI::Statement and not one of its subclasses other than "Expression".

       "is_ppi_generic_statement( $element )"
	   Answers whether the parameter is an undifferentiated statement, i.e.  the parameter is
	   a PPI::Statement but not one of its subclasses.

       "is_ppi_statement_subclass( $element )"
	   Answers whether the parameter is a specialized statement, i.e. the parameter is a
	   PPI::Statement but the class of the parameter is not PPI::Statement.

       "is_ppi_simple_statement( $element )"
	   Answers whether the parameter represents a simple statement, i.e. whether the
	   parameter is a PPI::Statement, PPI::Statement::Break, PPI::Statement::Include,
	   PPI::Statement::Null, PPI::Statement::Package, or PPI::Statement::Variable.

       "is_ppi_constant_element( $element )"
	   Answers whether the parameter represents a constant value, i.e. whether the parameter
	   is a PPI::Token::Number, PPI::Token::Quote::Literal, PPI::Token::Quote::Single, or
	   PPI::Token::QuoteLike::Words, or is a PPI::Token::Quote::Double or
	   PPI::Token::Quote::Interpolate which does not in fact contain any interpolated
	   variables.

	   This subroutine does not interpret any form of here document as a constant value, and
	   may not until PPI::Token::HereDoc acquires the relevant portions of the
	   PPI::Token::Quote interface.

	   This subroutine also does not interpret entities created by the Readonly module or the
	   constant pragma as constants, because the infrastructure to detect these appears not
	   to be present, and the author of this subroutine (not Mr. Shank or Mr. Thalhammer)
	   lacks the knowledge/expertise/gumption to put it in place.

       "is_subroutine_declaration( $element )"
	   Is the parameter a subroutine declaration, named or not?

       "is_in_subroutine( $element )"
	   Is the parameter a subroutine or inside one?

       "get_constant_name_element_from_declaring_statement($statement)"
	   This subroutine is deprecated. You should use
	   "get_constant_name_elements_from_declaring_statement()" in PPIx::Utilities::Statement
	   instead.

	   Given a PPI::Statement, if the statement is a "use constant" or Readonly declaration
	   statement, return the name of the thing being defined.

	   Given

	       use constant 1.16 FOO => 'bar';

	   this will return "FOO".  Similarly, given

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

	   this will return "%FOO".

	   Caveat: in the case where multiple constants are declared using the same "use
	   constant" statement (e.g. "use constant { FOO => 1, BAR => 2 };", this subroutine will
	   return the declaring PPI::Structure::Constructor. In the case of "use constant 1.16 {
	   FOO => 1, BAR => 2 };" it may return a PPI::Structure::Block instead of a
	   PPI::Structure::Constructor, due to a parse error in PPI.

       "get_next_element_in_same_simple_statement( $element )"
	   Given a PPI::Element, this subroutine returns the next element in the same simple
	   statement as defined by is_ppi_simple_statement(). If no next element can be found,
	   this subroutine simply returns.

	   If the $element is undefined or unblessed, we simply return.

	   If the $element satisfies "is_ppi_simple_statement()", we return, unless it has a
	   parent which is a PPI::Structure::List.

	   If the $element is the last significant element in its PPI::Node, we replace it with
	   its parent and iterate again.

	   Otherwise, we return "$element->snext_sibling()".

       "get_previous_module_used_on_same_line( $element )"
	   Given a PPI::Element, returns the PPI::Element representing the name of the module
	   included by the previous "use" or "require" on the same line as the $element. If none
	   is found, simply returns.

	   For example, with the line

	       use version; our $VERSION = ...;

	   given the PPI::Token::Symbol instance for $VERSION, this will return "version".

	   If the given element is in a "use" or <require>, the return is from the previous "use"
	   or "require" on the line, if any.

AUTHOR
       Elliot Shank <perl@galumph.com>

COPYRIGHT
       Copyright (c) 2007-2011 Elliot Shank.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.  The full text of this license can be found in the LICENSE file
       included with this module.

perl v5.16.3				    2014-06-09		      Perl::Critic::Utils::PPI(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 04:42 PM.

Unix & Linux Forums Content Copyright©1993-2018. All Rights Reserved.
×
UNIX.COM Login
Username:
Password:  
Show Password





Not a Forum Member?
Forgot Password?