File Coverage

blib/lib/RPerl/Operation/Expression/Operator/Named/Wait.pm
Criterion Covered Total %
statement 32 46 69.5
branch 1 8 12.5
condition n/a
subroutine 9 11 81.8
pod n/a
total 42 65 64.6


line stmt bran cond sub pod time code
1             # [[[ DOCUMENTATION ]]]
2             # http://perldoc.perl.org/functions/wait.html
3             # SUPPORTED: wait
4              
5             # [[[ HEADER ]]]
6             package RPerl::Operation::Expression::Operator::Named::Wait;
7 4     4   23 use strict;
  4         9  
  4         95  
8 4     4   19 use warnings;
  4         7  
  4         80  
9 4     4   19 use RPerl::AfterSubclass;
  4         7  
  4         529  
10             our $VERSION = 0.001_000;
11              
12             # [[[ OO INHERITANCE ]]]
13 4     4   25 use parent qw(RPerl::Operation::Expression::Operator::Named);
  4         7  
  4         21  
14 4     4   240 use RPerl::Operation::Expression::Operator::Named;
  4         10  
  4         110  
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             ## no critic qw(ProhibitConstantPragma ProhibitMagicNumbers) # USER DEFAULT 3: allow constants
20              
21             # [[[ CONSTANTS ]]]
22 4     4   19 use constant NAME => my string $TYPED_NAME = 'wait';
  4         9  
  4         205  
23 4     4   24 use constant ARGUMENTS_MIN => my integer $TYPED_ARGUMENTS_MIN = 0;
  4         15  
  4         198  
24 4     4   23 use constant ARGUMENTS_MAX => my integer $TYPED_ARGUMENTS_MAX = 0;
  4         10  
  4         1259  
25              
26             # [[[ OO PROPERTIES ]]]
27             our hashref $properties = {};
28              
29             # [[[ SUBROUTINES & OO METHODS ]]]
30              
31             sub ast_to_rperl__generate {
32 1     1   5 { my string_hashref::method $RETURN_TYPE };
  1         2  
33 1         4 ( my object $self, my object $operator_named, my string_hashref $modes)
34             = @ARG;
35 1         6 my string_hashref $rperl_source_group = { PMC => q{} };
36              
37             # RPerl::diag( 'in Operator::Named::Wait->ast_to_rperl__generate(), received $self = ' . "\n" . RPerl::Parser::rperl_ast__dump($self) . "\n" );
38             # RPerl::diag( 'in Operator::Named::Wait->ast_to_rperl__generate(), received $operator_named = ' . "\n" . RPerl::Parser::rperl_ast__dump($operator_named) . "\n" );
39              
40 1         5 my string $operator_named_class = ref $operator_named;
41 1 50       6 if ( $operator_named_class eq 'Operation_90' ) { # Operation -> OP01_NAMED_SCOLON
    0          
    0          
    0          
42 1         5 $rperl_source_group->{PMC} .= $operator_named->{children}->[0];
43             }
44             elsif ( $operator_named_class eq 'Operator_94' ) { # Operator -> OP01_NAMED SubExpression
45             die RPerl::Parser::rperl_rule__replace(
46             'ERROR ECOGEASRP15, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Named operator '
47 0         0 . $operator_named->{children}->[0]
48             . ' does not accept arguments, dying' )
49             . "\n";
50             }
51             elsif ( $operator_named_class eq 'Operator_95' ) { # Operator -> LPAREN OP01_NAMED ListElement OP21_LIST_COMMA ListElements ')'
52             die RPerl::Parser::rperl_rule__replace(
53             'ERROR ECOGEASRP15, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Named operator '
54 0         0 . $operator_named->{children}->[1]
55             . ' does not accept arguments, dying' )
56             . "\n";
57             }
58             elsif ( $operator_named_class eq 'OperatorVoid_134' ) { # OperatorVoid -> OP01_NAMED ListElement OP21_LIST_COMMA ListElements ';'
59             die RPerl::Parser::rperl_rule__replace(
60             'ERROR ECOGEASRP15, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Named operator '
61 0         0 . $operator_named->{children}->[0]
62             . ' does not accept arguments, dying' )
63             . "\n";
64             }
65             else {
66 0         0 die RPerl::Parser::rperl_rule__replace(
67             'ERROR ECOGEASRP00, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Grammar rule '
68             . ($operator_named_class)
69             . ' found where Operation_90, Operator_94, Operator_95, or OperatorVoid_134 expected, dying'
70             ) . "\n";
71             }
72 1         5 return $rperl_source_group;
73             }
74              
75             sub ast_to_cpp__generate__CPPOPS_PERLTYPES {
76 0     0     { my string_hashref::method $RETURN_TYPE };
  0            
77 0           ( my object $self, my string_hashref $modes) = @ARG;
78 0           my string_hashref $cpp_source_group
79             = { CPP =>
80             q{// <<< RP::O::E::O::N::W __DUMMY_SOURCE_CODE CPPOPS_PERLTYPES >>>}
81             . "\n" };
82              
83             #...
84 0           return $cpp_source_group;
85             }
86              
87             sub ast_to_cpp__generate__CPPOPS_CPPTYPES {
88 0     0     { my string_hashref::method $RETURN_TYPE };
  0            
89 0           ( my object $self, my string_hashref $modes) = @ARG;
90 0           my string_hashref $cpp_source_group
91             = { CPP =>
92             q{// <<< RP::O::E::O::N::W __DUMMY_SOURCE_CODE CPPOPS_CPPTYPES >>>}
93             . "\n" };
94              
95             #...
96 0           return $cpp_source_group;
97             }
98              
99             1; # end of class