File Coverage

blib/lib/GCC/Node/Reference.pm
Criterion Covered Total %
statement 36 40 90.0
branch 0 2 0.0
condition n/a
subroutine 12 14 85.7
pod 0 2 0.0
total 48 58 82.7


line stmt bran cond sub pod time code
1             package GCC::Node::Reference;
2 1     1   5 use strict;
  1         2  
  1         38  
3 1     1   5 use base qw(GCC::Node);
  1         1  
  1         714  
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             # 'r' for codes for references to storage.
14             # DEFTREECODE (COMPONENT_REF, "component_ref", 'r', 2)
15             package GCC::Node::component_ref;
16 1     1   6 use base qw(GCC::Node::Reference);
  1         1  
  1         86  
17              
18             #sub op0 { shift->{'op 0'} }
19             #sub op1 { shift->{'op 1'} }
20              
21             # DEFTREECODE (BIT_FIELD_REF, "bit_field_ref", 'r', 3)
22 1     1   6 package GCC::Node::bit_field_ref; use base qw(GCC::Node::Reference);
  1         2  
  1         127  
23              
24             # DEFTREECODE (INDIRECT_REF, "indirect_ref", 'r', 1)
25             package GCC::Node::indirect_ref;
26 1     1   5 use base qw(GCC::Node::Reference);
  1         2  
  1         79  
27              
28             #sub op0 { shift->{'op 0'} }
29              
30             # DEFTREECODE (BUFFER_REF, "buffer_ref", 'r', 1)
31 1     1   5 package GCC::Node::buffer_ref; use base qw(GCC::Node::Reference);
  1         2  
  1         66  
32              
33             # DEFTREECODE (ARRAY_REF, "array_ref", 'r', 2)
34             package GCC::Node::array_ref;
35 1     1   5 use base qw(GCC::Node::Reference);
  1         2  
  1         84  
36              
37             #sub op0 { shift->{'op 0'} }
38              
39             # DEFTREECODE (ARRAY_RANGE_REF, "array_range_ref", 'r', 2)
40 1     1   11 package GCC::Node::array_range_ref; use base qw(GCC::Node::Reference);
  1         2  
  1         65  
41              
42             # DEFTREECODE (VTABLE_REF, "vtable_ref", 'r', 3)
43 1     1   5 package GCC::Node::vtable_ref; use base qw(GCC::Node::Reference);
  1         1  
  1         71  
44              
45             # DEFTREECODE (OFFSET_REF, "offset_ref", 'r', 2)
46 1     1   5 package GCC::Node::offset_ref; use base qw(GCC::Node::Reference);
  1         2  
  1         208  
47              
48             # DEFTREECODE (SCOPE_REF, "scope_ref", 'r', 2)
49 1     1   6 package GCC::Node::scope_ref; use base qw(GCC::Node::Reference);
  1         2  
  1         86  
50              
51             # DEFTREECODE (MEMBER_REF, "member_ref", 'r', 2)
52 1     1   5 package GCC::Node::member_ref; use base qw(GCC::Node::Reference);
  1         2  
  1         63  
53              
54             # vim:set shiftwidth=4 softtabstop=4:
55             1;