File Coverage

blib/lib/GCC/Node/Binary.pm
Criterion Covered Total %
statement 84 89 94.3
branch 0 2 0.0
condition n/a
subroutine 28 31 90.3
pod 0 3 0.0
total 112 125 89.6


line stmt bran cond sub pod time code
1             package GCC::Node::Binary;
2 1     1   6 use strict;
  1         2  
  1         34  
3 1     1   5 use base qw(GCC::Node);
  1         3  
  1         647  
4              
5             sub operand {
6 0     0 0   my $self = shift;
7 0           my $index = shift;
8 0 0         return defined($index) ? $self->{operand}[$index] : $self->{operand};
9             }
10              
11 0     0 0   sub op { shift->operand(@_) }
12              
13 0     0 0   sub type { shift->{type} }
14              
15             # '2' for codes for binary arithmetic expressions.
16              
17             # DEFTREECODE (PLUS_EXPR, "plus_expr", '2', 2)
18 1     1   7 package GCC::Node::plus_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         86  
19              
20             # DEFTREECODE (MINUS_EXPR, "minus_expr", '2', 2)
21 1     1   5 package GCC::Node::minus_expr; use base qw(GCC::Node::Binary);
  1         3  
  1         72  
22              
23             # DEFTREECODE (MULT_EXPR, "mult_expr", '2', 2)
24 1     1   6 package GCC::Node::mult_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         93  
25              
26             # DEFTREECODE (TRUNC_DIV_EXPR, "trunc_div_expr", '2', 2)
27 1     1   6 package GCC::Node::trunc_div_expr; use base qw(GCC::Node::Binary);
  1         1652  
  1         128  
28              
29             # DEFTREECODE (CEIL_DIV_EXPR, "ceil_div_expr", '2', 2)
30 1     1   7 package GCC::Node::ceil_div_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         81  
31              
32             # DEFTREECODE (FLOOR_DIV_EXPR, "floor_div_expr", '2', 2)
33 1     1   5 package GCC::Node::floor_div_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         76  
34              
35             # DEFTREECODE (ROUND_DIV_EXPR, "round_div_expr", '2', 2)
36 1     1   6 package GCC::Node::round_div_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         73  
37              
38             # DEFTREECODE (TRUNC_MOD_EXPR, "trunc_mod_expr", '2', 2)
39 1     1   5 package GCC::Node::trunc_mod_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         73  
40              
41             # DEFTREECODE (CEIL_MOD_EXPR, "ceil_mod_expr", '2', 2)
42 1     1   6 package GCC::Node::ceil_mod_expr; use base qw(GCC::Node::Binary);
  1         1  
  1         75  
43              
44             # DEFTREECODE (FLOOR_MOD_EXPR, "floor_mod_expr", '2', 2)
45 1     1   6 package GCC::Node::floor_mod_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         302  
46              
47             # DEFTREECODE (ROUND_MOD_EXPR, "round_mod_expr", '2', 2)
48 1     1   6 package GCC::Node::round_mod_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         93  
49              
50             # DEFTREECODE (RDIV_EXPR, "rdiv_expr", '2', 2)
51 1     1   5 package GCC::Node::rdiv_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         78  
52              
53             # DEFTREECODE (EXACT_DIV_EXPR, "exact_div_expr", '2', 2)
54 1     1   5 package GCC::Node::exact_div_expr; use base qw(GCC::Node::Binary);
  1         3  
  1         76  
55              
56             # DEFTREECODE (MIN_EXPR, "min_expr", '2', 2)
57 1     1   21 package GCC::Node::min_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         81  
58              
59             # DEFTREECODE (MAX_EXPR, "max_expr", '2', 2)
60 1     1   11 package GCC::Node::max_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         91  
61              
62             # DEFTREECODE (LSHIFT_EXPR, "lshift_expr", '2', 2)
63 1     1   7 package GCC::Node::lshift_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         89  
64              
65             # DEFTREECODE (RSHIFT_EXPR, "rshift_expr", '2', 2)
66 1     1   12 package GCC::Node::rshift_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         78  
67              
68             # DEFTREECODE (LROTATE_EXPR, "lrotate_expr", '2', 2)
69 1     1   5 package GCC::Node::lrotate_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         64  
70              
71             # DEFTREECODE (RROTATE_EXPR, "rrotate_expr", '2', 2)
72 1     1   5 package GCC::Node::rrotate_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         79  
73              
74             # DEFTREECODE (BIT_IOR_EXPR, "bit_ior_expr", '2', 2)
75 1     1   5 package GCC::Node::bit_ior_expr; use base qw(GCC::Node::Binary);
  1         1  
  1         93  
76              
77             # DEFTREECODE (BIT_XOR_EXPR, "bit_xor_expr", '2', 2)
78 1     1   5 package GCC::Node::bit_xor_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         73  
79              
80             # DEFTREECODE (BIT_AND_EXPR, "bit_and_expr", '2', 2)
81 1     1   4 package GCC::Node::bit_and_expr; use base qw(GCC::Node::Binary);
  1         3  
  1         172  
82              
83             # DEFTREECODE (BIT_ANDTC_EXPR, "bit_andtc_expr", '2', 2)
84 1     1   6 package GCC::Node::bit_andtc_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         83  
85              
86             # DEFTREECODE (IN_EXPR, "in_expr", '2', 2)
87 1     1   5 package GCC::Node::in_expr; use base qw(GCC::Node::Binary);
  1         1  
  1         74  
88              
89             # DEFTREECODE (RANGE_EXPR, "range_expr", '2', 2)
90 1     1   5 package GCC::Node::range_expr; use base qw(GCC::Node::Binary);
  1         1  
  1         154  
91              
92             # DEFTREECODE (COMPLEX_EXPR, "complex_expr", '2', 2)
93 1     1   5 package GCC::Node::complex_expr; use base qw(GCC::Node::Binary);
  1         2  
  1         92  
94              
95             # vim:set shiftwidth=4 softtabstop=4:
96             1;