File Coverage

blib/lib/RPerl/Operation/Expression/SubExpression/Literal.pm
Criterion Covered Total %
statement 33 40 82.5
branch 2 4 50.0
condition 9 12 75.0
subroutine 7 8 87.5
pod n/a
total 51 64 79.6


line stmt bran cond sub pod time code
1             # [[[ HEADER ]]]
2             package RPerl::Operation::Expression::SubExpression::Literal;
3 3     3   22 use strict;
  3         8  
  3         95  
4 3     3   22 use warnings;
  3         10  
  3         102  
5 3     3   22 use RPerl::AfterSubclass;
  3         8  
  3         505  
6             our $VERSION = 0.002_100;
7              
8             # [[[ OO INHERITANCE ]]]
9 3     3   25 use parent qw(RPerl::Operation::Expression::SubExpression);
  3         8  
  3         19  
10 3     3   206 use RPerl::Operation::Expression::SubExpression;
  3         8  
  3         1011  
11              
12             # [[[ OO PROPERTIES ]]]
13             our hashref $properties = {};
14              
15             # [[[ SUBROUTINES & OO METHODS ]]]
16              
17             sub ast_to_rperl__generate {
18 4332     4332   7773 { my string_hashref::method $RETURN_TYPE };
  4332         8647  
19 4332         10438 ( my object $self, my string_hashref $modes) = @ARG;
20 4332         7625 my string_hashref $rperl_source_group;
21              
22             # RPerl::diag( 'in Literal->ast_to_rperl__generate(), received $self = ' . "\n" . RPerl::Parser::rperl_ast__dump($self) . "\n" );
23              
24 4332         9435 my string $self_class = ref $self;
25              
26 4332 50 100     17159 if (( $self_class eq 'SubExpression_151' ) # SubExpression -> Literal
      66        
27             or ( $self_class eq 'VariableOrLiteral_242' ) # VariableOrLiteral -> Literal
28             or ( $self_class eq 'VarOrLitOrOpStrOrWord_244' ) # VarOrLitOrOpStrOrWord -> Literal
29             )
30             {
31 4332         11246 my object $number_or_string = $self->{children}->[0];
32 4332         88189 $rperl_source_group = $number_or_string->ast_to_rperl__generate($modes);
33             }
34             else {
35 0         0 die RPerl::Parser::rperl_rule__replace(
36             'ERROR ECOGEASRP00, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Grammar rule '
37             . $self_class
38             . ' found where SubExpression_151, VariableOrLiteral_242, or VarOrLitOrOpStrOrWord_244 expected, dying'
39             ) . "\n";
40             }
41 4332         25908 return $rperl_source_group;
42             }
43              
44             sub ast_to_cpp__generate__CPPOPS_PERLTYPES {
45 0     0   0 { my string_hashref::method $RETURN_TYPE };
  0         0  
46 0         0 ( my object $self, my string_hashref $modes) = @ARG;
47 0         0 my string_hashref $cpp_source_group
48             = { CPP =>
49             q{// <<< RP::O::E::SE::L __DUMMY_SOURCE_CODE CPPOPS_PERLTYPES >>>}
50             . "\n" };
51              
52             #...
53 0         0 return $cpp_source_group;
54             }
55              
56             sub ast_to_cpp__generate__CPPOPS_CPPTYPES {
57 218     218   389 { my string_hashref::method $RETURN_TYPE };
  218         332  
58 218         400 ( my object $self, my string_hashref $modes) = @ARG;
59 218         309 my string_hashref $cpp_source_group;
60              
61             # RPerl::diag( 'in Literal->ast_to_cpp__generate__CPPOPS_CPPTYPES(), received $self = ' . "\n" . RPerl::Parser::rperl_ast__dump($self) . "\n" );
62              
63 218         427 my string $self_class = ref $self;
64              
65 218 50 66     747 if (( $self_class eq 'SubExpression_151' ) # SubExpression -> Literal
      66        
66             or ( $self_class eq 'VariableOrLiteral_242' ) # VariableOrLiteral -> Literal
67             or ( $self_class eq 'VarOrLitOrOpStrOrWord_244' ) # VarOrLitOrOpStrOrWord -> Literal
68             )
69             {
70 218         602 my object $number_or_string = $self->{children}->[0];
71 218         4132 $cpp_source_group = $number_or_string->ast_to_cpp__generate__CPPOPS_CPPTYPES($modes);
72             }
73             else {
74 0         0 die RPerl::Parser::rperl_rule__replace(
75             'ERROR ECOGEASRP00, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Grammar rule '
76             . $self_class
77             . ' found where SubExpression_151, VariableOrLiteral_242, or VarOrLitOrOpStrOrWord_244 expected, dying'
78             ) . "\n";
79             }
80 218         1322 return $cpp_source_group;
81             }
82              
83             1; # end of class