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   19 use strict;
  3         7  
  3         77  
5 3     3   15 use warnings;
  3         6  
  3         73  
6 3     3   14 use Exporter 'import';
  3         7  
  3         70  
7 3     3   14 use Scalar::Util 'blessed';
  3         4  
  3         595  
8              
9             our $VERSION = '0.001';
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 792 my $element = shift;
21              
22 20 100       615 return undef if not $element;
23 19 100       116 return undef if not $element->isa('PPI::Statement');
24 18 100       77 return 1 if $element->isa('PPI::Statement::Expression');
25              
26 14         74 my $element_class = blessed($element);
27              
28 14 50       45 return undef if not $element_class;
29 14         70 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