File Coverage

blib/lib/rperloperations.pm
Criterion Covered Total %
statement 213 213 100.0
branch n/a
condition n/a
subroutine 71 71 100.0
pod n/a
total 284 284 100.0


line stmt bran cond sub pod time code
1             # [[[ HEADER ]]]
2             package # hide from PAUSE indexing
3             rperloperations; ## no critic qw(Capitalization ProhibitMultiplePackages ProhibitReusedNames) # SYSTEM DEFAULT 3: allow multiple & lower case package names
4 4     4   24 use strict;
  4         8  
  4         93  
5 4     4   17 use warnings;
  4         8  
  4         126  
6             our $VERSION = 0.001_700;
7 4     4   18 use Carp;
  4         7  
  4         358  
8              
9             # NEED UPGRADE: make Grammars first-class citizens for full Perl 6 compatibility, we should have it done by Christmas XD
10             #use parent qw(RPerl::GrammarComponent)
11              
12             # RPerl system builtin functions, RPerl to C++ name mapping, used in SubroutineCall.pm
13             our $BUILTINS = {
14             'blessed' => 'classname',
15             'class' => 'classname',
16             'to_string' => 'To_string', # DEV NOTE, CORRELATION #rp028: renamed from Perl to_string() to C++ To_string() to avoid error redefining std::to_string()
17             # NEED REFACTOR: move SSE builtins to rperlsse.pm, create second $BUILTINS to be used in SubroutineCall.pm?
18             'sse_number_pair::new_from_singleton_duplicate' => 'sse_number_pair__new_from_singleton_duplicate',
19             'sse_number_pair::new_from_pair' => 'sse_number_pair__new_from_pair',
20             'constant_sse_number_pair::new_from_singleton_duplicate' => 'constant_sse_number_pair__new_from_singleton_duplicate',
21             'constant_sse_number_pair::new_from_pair' => 'constant_sse_number_pair__new_from_pair'
22             };
23              
24             # [[[ EXPRESSIONS ]]]
25 4     4   1154 use RPerl::Operation::Expression::Operator::Bitwise::And;
  4         10  
  4         102  
26 4     4   1161 use RPerl::Operation::Expression::Operator::Bitwise::OrXor;
  4         9  
  4         114  
27 4     4   1078 use RPerl::Operation::Expression::Operator::Bitwise::Shift;
  4         11  
  4         113  
28 4     4   1241 use RPerl::Operation::Expression::Operator::Bitwise::Negation;
  4         11  
  4         113  
29 4     4   1130 use RPerl::Operation::Expression::Operator::Close;
  4         9  
  4         114  
30 4     4   1077 use RPerl::Operation::Expression::Operator::Compare::EqualNotEqual;
  4         11  
  4         126  
31 4     4   1242 use RPerl::Operation::Expression::Operator::Compare::LessThanGreaterThan;
  4         10  
  4         139  
32 4     4   1098 use RPerl::Operation::Expression::Operator::List::Range;
  4         10  
  4         102  
33 4     4   1054 use RPerl::Operation::Expression::Operator::Logical::And;
  4         12  
  4         106  
34 4     4   1080 use RPerl::Operation::Expression::Operator::Logical::Negation;
  4         11  
  4         115  
35 4     4   1046 use RPerl::Operation::Expression::Operator::Logical::OrXor;
  4         11  
  4         121  
36 4     4   1056 use RPerl::Operation::Expression::Operator::Arithmetic::AddSubtract;
  4         10  
  4         108  
37 4     4   999 use RPerl::Operation::Expression::Operator::IncrementDecrement;
  4         10  
  4         115  
38 4     4   1101 use RPerl::Operation::Expression::Operator::Arithmetic::MultiplyDivideModulo;
  4         14  
  4         120  
39 4     4   1018 use RPerl::Operation::Expression::Operator::Arithmetic::Negative;
  4         10  
  4         118  
40 4     4   1039 use RPerl::Operation::Expression::Operator::Arithmetic::Power;
  4         10  
  4         121  
41             # DEV NOTE, CORRELATION #rp020: upon adding new named op file lib/RPerl/Operation/Expression/Operator/Named*/* also add in Named*.pm and rperloperations.*
42 4     4   1086 use RPerl::Operation::Expression::Operator::Named;
  4         12  
  4         135  
43 4     4   1035 use RPerl::Operation::Expression::Operator::Named::AbsoluteValue;
  4         12  
  4         115  
44 4     4   1169 use RPerl::Operation::Expression::Operator::Named::Atan2;
  4         11  
  4         137  
45 4     4   1224 use RPerl::Operation::Expression::Operator::Named::Chomp;
  4         12  
  4         122  
46 4     4   1197 use RPerl::Operation::Expression::Operator::Named::Exp;
  4         12  
  4         123  
47 4     4   1089 use RPerl::Operation::Expression::Operator::Named::Keys;
  4         12  
  4         122  
48 4     4   1171 use RPerl::Operation::Expression::Operator::Named::Join;
  4         11  
  4         129  
49 4     4   1217 use RPerl::Operation::Expression::Operator::Named::Pop;
  4         13  
  4         118  
50 4     4   1246 use RPerl::Operation::Expression::Operator::Named::Push;
  4         11  
  4         120  
51 4     4   1104 use RPerl::Operation::Expression::Operator::Named::Shift;
  4         11  
  4         114  
52 4     4   1106 use RPerl::Operation::Expression::Operator::Named::Sort;
  4         10  
  4         132  
53 4     4   1123 use RPerl::Operation::Expression::Operator::Named::Split;
  4         13  
  4         131  
54 4     4   1103 use RPerl::Operation::Expression::Operator::Named::Reverse;
  4         11  
  4         136  
55 4     4   1148 use RPerl::Operation::Expression::Operator::Named::Unshift;
  4         12  
  4         286  
56 4     4   1180 use RPerl::Operation::Expression::Operator::Named::Values;
  4         12  
  4         142  
57 4     4   1105 use RPerl::Operation::Expression::Operator::Named::Wait;
  4         12  
  4         124  
58 4     4   1041 use RPerl::Operation::Expression::Operator::NamedUnary;
  4         12  
  4         121  
59 4     4   1091 use RPerl::Operation::Expression::Operator::NamedUnary::ChangeDirectory;
  4         10  
  4         141  
60 4     4   1136 use RPerl::Operation::Expression::Operator::NamedUnary::Cosine;
  4         12  
  4         111  
61 4     4   1046 use RPerl::Operation::Expression::Operator::NamedUnary::Defined;
  4         11  
  4         110  
62 4     4   1051 use RPerl::Operation::Expression::Operator::NamedUnary::Exists;
  4         11  
  4         169  
63 4     4   1043 use RPerl::Operation::Expression::Operator::NamedUnary::FileExists;
  4         9  
  4         113  
64 4     4   1095 use RPerl::Operation::Expression::Operator::NamedUnary::FileReadable;
  4         10  
  4         113  
65 4     4   1429 use RPerl::Operation::Expression::Operator::NamedUnary::FileRegular;
  4         14  
  4         128  
66 4     4   1146 use RPerl::Operation::Expression::Operator::NamedUnary::FileText;
  4         11  
  4         113  
67 4     4   1090 use RPerl::Operation::Expression::Operator::NamedUnary::Length;
  4         10  
  4         112  
68 4     4   1050 use RPerl::Operation::Expression::Operator::NamedUnary::Log;
  4         13  
  4         126  
69 4     4   1107 use RPerl::Operation::Expression::Operator::NamedUnary::Random;
  4         12  
  4         110  
70 4     4   1114 use RPerl::Operation::Expression::Operator::NamedUnary::Scalar;
  4         10  
  4         125  
71 4     4   1070 use RPerl::Operation::Expression::Operator::NamedUnary::Sine;
  4         8  
  4         143  
72 4     4   1085 use RPerl::Operation::Expression::Operator::NamedUnary::SquareRoot;
  4         11  
  4         113  
73 4     4   1028 use RPerl::Operation::Expression::Operator::Open;
  4         8  
  4         110  
74 4     4   989 use RPerl::Operation::Expression::Operator::Print;
  4         11  
  4         126  
75 4     4   1261 use RPerl::Operation::Expression::Operator::RegularExpression;
  4         10  
  4         126  
76 4     4   1179 use RPerl::Operation::Expression::Operator::String::Concatenate;
  4         11  
  4         105  
77 4     4   1012 use RPerl::Operation::Expression::Operator::String::Repeat;
  4         9  
  4         112  
78 4     4   1079 use RPerl::Operation::Expression::Operator::Ternary;
  4         10  
  4         125  
79              
80 4     4   994 use RPerl::Operation::Expression::ConstantCall; # grammar rule & operation
  4         8  
  4         122  
81 4     4   972 use RPerl::Operation::Expression::SubroutineCall; # grammar rule & operation
  4         7  
  4         114  
82 4     4   1072 use RPerl::Operation::Expression::SubroutineCall::MethodCall; # grammar rule & operation
  4         8  
  4         117  
83 4     4   1225 use RPerl::Operation::Expression::SubroutineCall::MethodCall::ConstructorCall; # grammar rule & operation
  4         10  
  4         129  
84              
85             # [[[ STATEMENTS ]]]
86              
87 4     4   1106 use RPerl::Operation::Statement::Conditional; # grammar rule & operation
  4         12  
  4         131  
88 4     4   1062 use RPerl::Operation::Statement::Loop; # grammar rule & operation
  4         10  
  4         119  
89 4     4   1303 use RPerl::Operation::Statement::Loop::For; # grammar rule & operation
  4         13  
  4         149  
90 4     4   1158 use RPerl::Operation::Statement::Loop::ForEach; # grammar rule & operation
  4         11  
  4         126  
91 4     4   1071 use RPerl::Operation::Statement::Loop::While; # grammar rule & operation
  4         10  
  4         121  
92 4     4   1063 use RPerl::Operation::Statement::OperatorVoid::LoopControl;
  4         10  
  4         108  
93 4     4   1364 use RPerl::Operation::Statement::OperatorVoid::Named::Return;
  4         9  
  4         111  
94 4     4   1122 use RPerl::Operation::Statement::OperatorVoid::Named::Exit;
  4         11  
  4         120  
95 4     4   1108 use RPerl::Operation::Statement::OperatorVoid::Named::Die;
  4         10  
  4         124  
96 4     4   1088 use RPerl::Operation::Statement::OperatorVoid::Named::Croak;
  4         10  
  4         120  
97 4     4   1101 use RPerl::Operation::Statement::OperatorVoid::Print;
  4         12  
  4         110  
98              
99             1;