File Coverage

blib/lib/RPerl/Operation/Expression/Operator/NamedUnary/ChangeDirectory.pm
Criterion Covered Total %
statement 35 47 74.4
branch 3 6 50.0
condition n/a
subroutine 9 11 81.8
pod n/a
total 47 64 73.4


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