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 5     5   32 use strict;
  5         13  
  5         123  
5 5     5   27 use warnings;
  5         7  
  5         211  
6             our $VERSION = 0.001_700;
7 5     5   30 use Carp;
  5         10  
  5         424  
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 5     5   2078 use RPerl::Operation::Expression::Operator::Bitwise::And;
  5         26  
  5         168  
26 5     5   2019 use RPerl::Operation::Expression::Operator::Bitwise::OrXor;
  5         15  
  5         151  
27 5     5   1958 use RPerl::Operation::Expression::Operator::Bitwise::Shift;
  5         15  
  5         158  
28 5     5   1962 use RPerl::Operation::Expression::Operator::Bitwise::Negation;
  5         17  
  5         161  
29 5     5   1901 use RPerl::Operation::Expression::Operator::Close;
  5         14  
  5         171  
30 5     5   2101 use RPerl::Operation::Expression::Operator::Compare::EqualNotEqual;
  5         16  
  5         157  
31 5     5   2092 use RPerl::Operation::Expression::Operator::Compare::LessThanGreaterThan;
  5         16  
  5         191  
32 5     5   1948 use RPerl::Operation::Expression::Operator::List::Range;
  5         13  
  5         136  
33 5     5   2104 use RPerl::Operation::Expression::Operator::Logical::And;
  5         14  
  5         151  
34 5     5   2096 use RPerl::Operation::Expression::Operator::Logical::Negation;
  5         15  
  5         160  
35 5     5   2082 use RPerl::Operation::Expression::Operator::Logical::OrXor;
  5         14  
  5         153  
36 5     5   2044 use RPerl::Operation::Expression::Operator::Arithmetic::AddSubtract;
  5         14  
  5         172  
37 5     5   1931 use RPerl::Operation::Expression::Operator::IncrementDecrement;
  5         14  
  5         190  
38 5     5   2351 use RPerl::Operation::Expression::Operator::Arithmetic::MultiplyDivideModulo;
  5         16  
  5         187  
39 5     5   2189 use RPerl::Operation::Expression::Operator::Arithmetic::Negative;
  5         16  
  5         163  
40 5     5   1914 use RPerl::Operation::Expression::Operator::Arithmetic::Power;
  5         13  
  5         163  
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 5     5   1916 use RPerl::Operation::Expression::Operator::Named;
  5         13  
  5         161  
43 5     5   2003 use RPerl::Operation::Expression::Operator::Named::AbsoluteValue;
  5         15  
  5         178  
44 5     5   2174 use RPerl::Operation::Expression::Operator::Named::Atan2;
  5         15  
  5         160  
45 5     5   1943 use RPerl::Operation::Expression::Operator::Named::Chomp;
  5         15  
  5         152  
46 5     5   2025 use RPerl::Operation::Expression::Operator::Named::Exp;
  5         14  
  5         153  
47 5     5   2073 use RPerl::Operation::Expression::Operator::Named::Keys;
  5         19  
  5         191  
48 5     5   2140 use RPerl::Operation::Expression::Operator::Named::Join;
  5         15  
  5         151  
49 5     5   1919 use RPerl::Operation::Expression::Operator::Named::Pop;
  5         14  
  5         150  
50 5     5   2034 use RPerl::Operation::Expression::Operator::Named::Push;
  5         15  
  5         157  
51 5     5   2020 use RPerl::Operation::Expression::Operator::Named::Shift;
  5         14  
  5         162  
52 5     5   2043 use RPerl::Operation::Expression::Operator::Named::Sort;
  5         13  
  5         150  
53 5     5   2066 use RPerl::Operation::Expression::Operator::Named::Split;
  5         15  
  5         166  
54 5     5   2050 use RPerl::Operation::Expression::Operator::Named::Reverse;
  5         15  
  5         161  
55 5     5   2059 use RPerl::Operation::Expression::Operator::Named::Unshift;
  5         17  
  5         169  
56 5     5   2000 use RPerl::Operation::Expression::Operator::Named::Values;
  5         14  
  5         173  
57 5     5   2077 use RPerl::Operation::Expression::Operator::Named::Wait;
  5         12  
  5         150  
58 5     5   1981 use RPerl::Operation::Expression::Operator::NamedUnary;
  5         18  
  5         174  
59 5     5   2048 use RPerl::Operation::Expression::Operator::NamedUnary::ChangeDirectory;
  5         17  
  5         164  
60 5     5   2098 use RPerl::Operation::Expression::Operator::NamedUnary::Cosine;
  5         12  
  5         158  
61 5     5   2049 use RPerl::Operation::Expression::Operator::NamedUnary::Defined;
  5         16  
  5         157  
62 5     5   2056 use RPerl::Operation::Expression::Operator::NamedUnary::Exists;
  5         15  
  5         149  
63 5     5   1977 use RPerl::Operation::Expression::Operator::NamedUnary::FileExists;
  5         14  
  5         176  
64 5     5   2009 use RPerl::Operation::Expression::Operator::NamedUnary::FileReadable;
  5         15  
  5         152  
65 5     5   1968 use RPerl::Operation::Expression::Operator::NamedUnary::FileRegular;
  5         15  
  5         173  
66 5     5   2166 use RPerl::Operation::Expression::Operator::NamedUnary::FileText;
  5         15  
  5         149  
67 5     5   1970 use RPerl::Operation::Expression::Operator::NamedUnary::Length;
  5         18  
  5         177  
68 5     5   2327 use RPerl::Operation::Expression::Operator::NamedUnary::Log;
  5         15  
  5         165  
69 5     5   2110 use RPerl::Operation::Expression::Operator::NamedUnary::Random;
  5         17  
  5         171  
70 5     5   2113 use RPerl::Operation::Expression::Operator::NamedUnary::Scalar;
  5         18  
  5         175  
71 5     5   2169 use RPerl::Operation::Expression::Operator::NamedUnary::Sine;
  5         14  
  5         163  
72 5     5   2019 use RPerl::Operation::Expression::Operator::NamedUnary::SquareRoot;
  5         15  
  5         158  
73 5     5   1914 use RPerl::Operation::Expression::Operator::Open;
  5         16  
  5         178  
74 5     5   1893 use RPerl::Operation::Expression::Operator::Print;
  5         13  
  5         159  
75 5     5   1917 use RPerl::Operation::Expression::Operator::RegularExpression;
  5         14  
  5         154  
76 5     5   1958 use RPerl::Operation::Expression::Operator::String::Concatenate;
  5         12  
  5         143  
77 5     5   1871 use RPerl::Operation::Expression::Operator::String::Repeat;
  5         13  
  5         154  
78 5     5   1856 use RPerl::Operation::Expression::Operator::Ternary;
  5         11  
  5         166  
79              
80 5     5   1779 use RPerl::Operation::Expression::ConstantCall; # grammar rule & operation
  5         12  
  5         149  
81 5     5   1833 use RPerl::Operation::Expression::SubroutineCall; # grammar rule & operation
  5         14  
  5         168  
82 5     5   2147 use RPerl::Operation::Expression::SubroutineCall::MethodCall; # grammar rule & operation
  5         16  
  5         185  
83 5     5   2254 use RPerl::Operation::Expression::SubroutineCall::MethodCall::ConstructorCall; # grammar rule & operation
  5         17  
  5         179  
84              
85             # [[[ STATEMENTS ]]]
86              
87 5     5   2170 use RPerl::Operation::Statement::Conditional; # grammar rule & operation
  5         16  
  5         172  
88 5     5   2231 use RPerl::Operation::Statement::Loop; # grammar rule & operation
  5         16  
  5         146  
89 5     5   2346 use RPerl::Operation::Statement::Loop::For; # grammar rule & operation
  5         18  
  5         181  
90 5     5   2056 use RPerl::Operation::Statement::Loop::ForEach; # grammar rule & operation
  5         15  
  5         161  
91 5     5   1864 use RPerl::Operation::Statement::Loop::While; # grammar rule & operation
  5         14  
  5         161  
92 5     5   1990 use RPerl::Operation::Statement::OperatorVoid::LoopControl;
  5         13  
  5         202  
93 5     5   2295 use RPerl::Operation::Statement::OperatorVoid::Named::Return;
  5         15  
  5         146  
94 5     5   2782 use RPerl::Operation::Statement::OperatorVoid::Named::Exit;
  5         17  
  5         222  
95 5     5   1992 use RPerl::Operation::Statement::OperatorVoid::Named::Die;
  5         15  
  5         178  
96 5     5   1933 use RPerl::Operation::Statement::OperatorVoid::Named::Croak;
  5         17  
  5         160  
97 5     5   2081 use RPerl::Operation::Statement::OperatorVoid::Print;
  5         14  
  5         185  
98              
99             1;