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; |