File Coverage

blib/lib/PPIx/Utils/_Common.pm
Criterion Covered Total %
statement 19 22 86.3
branch 7 12 58.3
condition n/a
subroutine 5 6 83.3
pod 0 2 0.0
total 31 42 73.8


line stmt bran cond sub pod time code
1             package PPIx::Utils::_Common;
2             # See the README of this distribution for copyright and license information.
3              
4 3     3   16 use strict;
  3         6  
  3         70  
5 3     3   10 use warnings;
  3         6  
  3         57  
6 3     3   13 use Exporter 'import';
  3         5  
  3         70  
7 3     3   12 use Scalar::Util 'blessed';
  3         4  
  3         671  
8              
9             our $VERSION = '0.002';
10              
11             our @EXPORT_OK = qw(
12             is_ppi_expression_or_generic_statement
13             is_ppi_simple_statement
14             );
15              
16             our %EXPORT_TAGS = (all => [@EXPORT_OK]);
17              
18             # From Perl::Critic::Utils::PPI
19             sub is_ppi_expression_or_generic_statement {
20 20     20 0 683 my $element = shift;
21              
22 20 100       560 return undef if not $element;
23 19 100       78 return undef if not $element->isa('PPI::Statement');
24 18 100       64 return 1 if $element->isa('PPI::Statement::Expression');
25              
26 14         40 my $element_class = blessed($element);
27              
28 14 50       28 return undef if not $element_class;
29 14         69 return $element_class eq 'PPI::Statement';
30             }
31              
32             my %SIMPLE_STATEMENT_CLASS = map { $_ => 1 } qw<
33             PPI::Statement
34             PPI::Statement::Break
35             PPI::Statement::Include
36             PPI::Statement::Null
37             PPI::Statement::Package
38             PPI::Statement::Variable
39             >;
40              
41             sub is_ppi_simple_statement {
42 0 0   0 0   my $element = shift or return undef;
43              
44 0 0         my $element_class = blessed( $element ) or return undef;
45              
46 0           return $SIMPLE_STATEMENT_CLASS{ $element_class };
47             }
48             # End from Perl::Critic::Utils::PPI
49              
50             1;
51              
52             =for Pod::Coverage *EVERYTHING*
53              
54             =cut