File Coverage

blib/lib/RPerl/Operation/Expression/Operator/NamedUnary/Exists.pm
Criterion Covered Total %
statement 24 47 51.0
branch 0 6 0.0
condition n/a
subroutine 8 11 72.7
pod n/a
total 32 64 50.0


line stmt bran cond sub pod time code
1             # [[[ DOCUMENTATION ]]]
2             # http://perldoc.perl.org/functions/exists.html
3             # SUPPORTED: exists EXPR
4              
5             # [[[ HEADER ]]]
6             package RPerl::Operation::Expression::Operator::NamedUnary::Exists;
7 4     4   22 use strict;
  4         8  
  4         93  
8 4     4   17 use warnings;
  4         8  
  4         77  
9 4     4   19 use RPerl::AfterSubclass;
  4         8  
  4         525  
10             our $VERSION = 0.002_000;
11              
12             # [[[ OO INHERITANCE ]]]
13 4     4   25 use parent qw(RPerl::Operation::Expression::Operator::NamedUnary);
  4         10  
  4         20  
14 4     4   228 use RPerl::Operation::Expression::Operator::NamedUnary;
  4         12  
  4         101  
15              
16             # [[[ CRITICS ]]]
17             ## no critic qw(ProhibitUselessNoCritic ProhibitMagicNumbers RequireCheckedSyscalls) # USER DEFAULT 1: allow numeric values & print operator
18             ## no critic qw(RequireInterpolationOfMetachars) # USER DEFAULT 2: allow single-quoted control characters & sigils
19              
20             # [[[ CONSTANTS ]]]
21 4     4   17 use constant NAME => my string $TYPED_NAME = 'exists';
  4         8  
  4         210  
22 4     4   22 use constant ARGUMENTS_MIN => my integer $TYPED_ARGUMENTS_MIN = 1;
  4         7  
  4         180  
23 4     4   23 use constant ARGUMENTS_MAX => my integer $TYPED_ARGUMENTS_MAX = 1;
  4         8  
  4         1279  
24              
25             # [[[ OO PROPERTIES ]]]
26             our hashref $properties = {};
27              
28             # [[[ SUBROUTINES & OO METHODS ]]]
29              
30             sub ast_to_rperl__generate {
31 0     0     { my string_hashref::method $RETURN_TYPE };
  0            
32 0           ( my object $self, my object $operator_named, my string_hashref $modes) = @ARG;
33 0           my string_hashref $rperl_source_group = { PMC => q{} };
34              
35             # RPerl::diag( 'in Operator::NamedUnary::Exists->ast_to_rperl__generate(), received $self = ' . "\n" . RPerl::Parser::rperl_ast__dump($self) . "\n" );
36             # RPerl::diag( 'in Operator::NamedUnary::Exists->ast_to_rperl__generate(), received $operator_named = ' . "\n" . RPerl::Parser::rperl_ast__dump($operator_named) . "\n" );
37              
38 0           my string $operator_named_class = ref $operator_named;
39 0 0         if ( $operator_named_class eq 'Operation_91' ) { # Operation -> OP10_NAMED_UNARY_SCOLON
    0          
    0          
40             die RPerl::Parser::rperl_rule__replace( 'ERROR ECOGEASRP16, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Named operator '
41 0           . $operator_named->{children}->[0]
42             . ' requires exactly one argument, dying' )
43             . "\n";
44             }
45             elsif ( $operator_named_class eq 'Operator_110' ) { # Operator -> OP10_NAMED_UNARY SubExpression
46 0           $rperl_source_group->{PMC} .= $operator_named->{children}->[0] . q{ };
47 0           my string_hashref $rperl_source_subgroup = $operator_named->{children}->[1]->ast_to_rperl__generate( $modes, $self );
48 0           RPerl::Generator::source_group_append( $rperl_source_group, $rperl_source_subgroup );
49             }
50             elsif ( $operator_named_class eq 'Operator_111' ) { # Operator -> OP10_NAMED_UNARY
51             die RPerl::Parser::rperl_rule__replace( 'ERROR ECOGEASRP16, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Named operator '
52 0           . $operator_named->{children}->[0]
53             . ' requires exactly one argument, dying' )
54             . "\n";
55             }
56             else {
57 0           die RPerl::Parser::rperl_rule__replace( 'ERROR ECOGEASRP00, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Grammar rule '
58             . ($operator_named_class)
59             . ' found where Operation_91, Operator_110, or Operator_111 expected, dying' )
60             . "\n";
61             }
62 0           return $rperl_source_group;
63             }
64              
65             sub ast_to_cpp__generate__CPPOPS_PERLTYPES {
66 0     0     { my string_hashref::method $RETURN_TYPE };
  0            
67 0           ( my object $self, my string_hashref $modes) = @ARG;
68 0           my string_hashref $cpp_source_group = { CPP => q{// <<< RP::O::E::O::NU::E __DUMMY_SOURCE_CODE CPPOPS_PERLTYPES >>>} . "\n" };
69              
70             #...
71 0           return $cpp_source_group;
72             }
73              
74             sub ast_to_cpp__generate__CPPOPS_CPPTYPES {
75 0     0     { my string_hashref::method $RETURN_TYPE };
  0            
76 0           ( my object $self, my string_hashref $modes) = @ARG;
77 0           my string_hashref $cpp_source_group = { CPP => q{// <<< RP::O::E::O::NU::E __DUMMY_SOURCE_CODE CPPOPS_CPPTYPES >>>} . "\n" };
78              
79             #...
80 0           return $cpp_source_group;
81             }
82              
83             1; # end of class