line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package GCC::Node::Expression; |
2
|
1
|
|
|
1
|
|
6
|
use strict; |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
127
|
|
3
|
|
|
|
|
|
|
|
4
|
0
|
|
|
0
|
0
|
|
sub type { shift->{type} } |
5
|
|
|
|
|
|
|
|
6
|
|
|
|
|
|
|
sub operand { |
7
|
0
|
|
|
0
|
0
|
|
my $self = shift; |
8
|
0
|
|
|
|
|
|
my $index = shift; |
9
|
0
|
0
|
|
|
|
|
return defined($index) ? $self->{operand}[$index] : $self->{operand}; |
10
|
|
|
|
|
|
|
} |
11
|
|
|
|
|
|
|
|
12
|
0
|
|
|
0
|
0
|
|
sub op { shift->operand(@_) } |
13
|
|
|
|
|
|
|
# 'e' for codes for other kinds of expressions. */ |
14
|
|
|
|
|
|
|
# DEFTREECODE (CONSTRUCTOR, "constructor", 'e', 2) |
15
|
|
|
|
|
|
|
package GCC::Node::constructor; |
16
|
1
|
|
|
1
|
|
4
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
112
|
|
17
|
|
|
|
|
|
|
|
18
|
|
|
|
|
|
|
# TREE_OPERAND |
19
|
0
|
|
|
0
|
|
|
sub elements { shift->{elts} } |
20
|
|
|
|
|
|
|
|
21
|
|
|
|
|
|
|
# DEFTREECODE (COMPOUND_EXPR, "compound_expr", 'e', 2) |
22
|
1
|
|
|
1
|
|
5
|
package GCC::Node::compound_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
77
|
|
23
|
|
|
|
|
|
|
|
24
|
|
|
|
|
|
|
# DEFTREECODE (MODIFY_EXPR, "modify_expr", 'e', 2) |
25
|
1
|
|
|
1
|
|
5
|
package GCC::Node::modify_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
73
|
|
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
# DEFTREECODE (INIT_EXPR, "init_expr", 'e', 2) |
28
|
1
|
|
|
1
|
|
5
|
package GCC::Node::init_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
86
|
|
29
|
|
|
|
|
|
|
|
30
|
|
|
|
|
|
|
# DEFTREECODE (TARGET_EXPR, "target_expr", 'e', 4) |
31
|
|
|
|
|
|
|
package GCC::Node::target_expr; |
32
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
135
|
|
33
|
|
|
|
|
|
|
|
34
|
0
|
|
|
0
|
|
|
sub decl { shift->{decl} } |
35
|
|
|
|
|
|
|
|
36
|
0
|
|
|
0
|
|
|
sub init { shift->{init} } |
37
|
|
|
|
|
|
|
|
38
|
0
|
|
|
0
|
|
|
sub cleanup { shift->{clnp} } |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
# DEFTREECODE (COND_EXPR, "cond_expr", 'e', 3) |
41
|
1
|
|
|
1
|
|
5
|
package GCC::Node::cond_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
75
|
|
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
# DEFTREECODE (BIND_EXPR, "bind_expr", 'e', 3) |
44
|
|
|
|
|
|
|
package GCC::Node::bind_expr; |
45
|
1
|
|
|
1
|
|
10
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
129
|
|
46
|
|
|
|
|
|
|
|
47
|
0
|
|
|
0
|
|
|
sub vars { shift->{vars} } |
48
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
49
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
# DEFTREECODE (CALL_EXPR, "call_expr", 'e', 2) |
51
|
|
|
|
|
|
|
package GCC::Node::call_expr; |
52
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::call_expr); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
497
|
|
53
|
|
|
|
|
|
|
|
54
|
0
|
|
|
0
|
|
|
sub fn { shift->{fn} } |
55
|
0
|
|
|
0
|
|
|
sub args { shift->{args} } |
56
|
|
|
|
|
|
|
|
57
|
|
|
|
|
|
|
# DEFTREECODE (METHOD_CALL_EXPR, "method_call_expr", 'e', 4) |
58
|
1
|
|
|
1
|
|
7
|
package GCC::Node::method_call_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
104
|
|
59
|
|
|
|
|
|
|
|
60
|
|
|
|
|
|
|
# DEFTREECODE (WITH_CLEANUP_EXPR, "with_cleanup_expr", 'e', 3) |
61
|
1
|
|
|
1
|
|
5
|
package GCC::Node::with_cleanup_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
88
|
|
62
|
|
|
|
|
|
|
|
63
|
|
|
|
|
|
|
# DEFTREECODE (CLEANUP_POINT_EXPR, "cleanup_point_expr", 'e', 1) |
64
|
1
|
|
|
1
|
|
6
|
package GCC::Node::cleanup_point_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
90
|
|
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
# DEFTREECODE (WITH_RECORD_EXPR, "with_record_expr", 'e', 2) |
67
|
1
|
|
|
1
|
|
6
|
package GCC::Node::with_record_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
93
|
|
68
|
|
|
|
|
|
|
|
69
|
|
|
|
|
|
|
# DEFTREECODE (TRUTH_ANDIF_EXPR, "truth_andif_expr", 'e', 2) |
70
|
1
|
|
|
1
|
|
6
|
package GCC::Node::truth_andif_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
91
|
|
71
|
|
|
|
|
|
|
|
72
|
|
|
|
|
|
|
# DEFTREECODE (TRUTH_ORIF_EXPR, "truth_orif_expr", 'e', 2) |
73
|
1
|
|
|
1
|
|
6
|
package GCC::Node::truth_orif_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
89
|
|
74
|
|
|
|
|
|
|
|
75
|
|
|
|
|
|
|
# DEFTREECODE (TRUTH_AND_EXPR, "truth_and_expr", 'e', 2) |
76
|
1
|
|
|
1
|
|
5
|
package GCC::Node::truth_and_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
87
|
|
77
|
|
|
|
|
|
|
|
78
|
|
|
|
|
|
|
# DEFTREECODE (TRUTH_OR_EXPR, "truth_or_expr", 'e', 2) |
79
|
1
|
|
|
1
|
|
6
|
package GCC::Node::truth_or_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
82
|
|
80
|
|
|
|
|
|
|
|
81
|
|
|
|
|
|
|
# DEFTREECODE (TRUTH_XOR_EXPR, "truth_xor_expr", 'e', 2) |
82
|
1
|
|
|
1
|
|
6
|
package GCC::Node::truth_xor_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
182
|
|
83
|
|
|
|
|
|
|
|
84
|
|
|
|
|
|
|
# DEFTREECODE (TRUTH_NOT_EXPR, "truth_not_expr", 'e', 1) |
85
|
1
|
|
|
1
|
|
7
|
package GCC::Node::truth_not_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
117
|
|
86
|
|
|
|
|
|
|
|
87
|
|
|
|
|
|
|
# DEFTREECODE (SAVE_EXPR, "save_expr", 'e', 3) |
88
|
1
|
|
|
1
|
|
15
|
package GCC::Node::save_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
76
|
|
89
|
|
|
|
|
|
|
|
90
|
|
|
|
|
|
|
# DEFTREECODE (UNSAVE_EXPR, "unsave_expr", 'e', 1) |
91
|
1
|
|
|
1
|
|
6
|
package GCC::Node::unsave_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
95
|
|
92
|
|
|
|
|
|
|
|
93
|
|
|
|
|
|
|
# DEFTREECODE (RTL_EXPR, "rtl_expr", 'e', 2) |
94
|
1
|
|
|
1
|
|
5
|
package GCC::Node::rtl_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
95
|
|
95
|
|
|
|
|
|
|
|
96
|
|
|
|
|
|
|
# DEFTREECODE (ADDR_EXPR, "addr_expr", 'e', 1) |
97
|
1
|
|
|
1
|
|
11
|
package GCC::Node::addr_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
82
|
|
98
|
|
|
|
|
|
|
|
99
|
|
|
|
|
|
|
# DEFTREECODE (REFERENCE_EXPR, "reference_expr", 'e', 1) |
100
|
1
|
|
|
1
|
|
7
|
package GCC::Node::reference_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
82
|
|
101
|
|
|
|
|
|
|
|
102
|
|
|
|
|
|
|
# DEFTREECODE (ENTRY_VALUE_EXPR, "entry_value_expr", 'e', 1) |
103
|
1
|
|
|
1
|
|
5
|
package GCC::Node::entry_value_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
83
|
|
104
|
|
|
|
|
|
|
|
105
|
|
|
|
|
|
|
# DEFTREECODE (FDESC_EXPR, "fdesc_expr", 'e', 2) |
106
|
1
|
|
|
1
|
|
6
|
package GCC::Node::fdesc_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
274
|
|
107
|
|
|
|
|
|
|
|
108
|
|
|
|
|
|
|
# DEFTREECODE (PREDECREMENT_EXPR, "predecrement_expr", 'e', 2) |
109
|
1
|
|
|
1
|
|
6
|
package GCC::Node::predecrement_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
107
|
|
110
|
|
|
|
|
|
|
|
111
|
|
|
|
|
|
|
# DEFTREECODE (PREINCREMENT_EXPR, "preincrement_expr", 'e', 2) |
112
|
1
|
|
|
1
|
|
5
|
package GCC::Node::preincrement_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
83
|
|
113
|
|
|
|
|
|
|
|
114
|
|
|
|
|
|
|
# DEFTREECODE (POSTDECREMENT_EXPR, "postdecrement_expr", 'e', 2) |
115
|
1
|
|
|
1
|
|
6
|
package GCC::Node::postdecrement_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
130
|
|
116
|
|
|
|
|
|
|
|
117
|
|
|
|
|
|
|
# DEFTREECODE (POSTINCREMENT_EXPR, "postincrement_expr", 'e', 2) |
118
|
1
|
|
|
1
|
|
5
|
package GCC::Node::postincrement_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
75
|
|
119
|
|
|
|
|
|
|
|
120
|
|
|
|
|
|
|
# DEFTREECODE (VA_ARG_EXPR, "va_arg_expr", 'e', 1) |
121
|
1
|
|
|
1
|
|
6
|
package GCC::Node::va_arg_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
80
|
|
122
|
|
|
|
|
|
|
|
123
|
|
|
|
|
|
|
# DEFTREECODE (TRY_CATCH_EXPR, "try_catch_expr", 'e', 2) |
124
|
1
|
|
|
1
|
|
6
|
package GCC::Node::try_catch_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
79
|
|
125
|
|
|
|
|
|
|
|
126
|
|
|
|
|
|
|
# DEFTREECODE (TRY_FINALLY_EXPR, "try_finally", 'e', 2) |
127
|
1
|
|
|
1
|
|
5
|
package GCC::Node::try_finally; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
82
|
|
128
|
|
|
|
|
|
|
|
129
|
|
|
|
|
|
|
# DEFTREECODE (GOTO_SUBROUTINE_EXPR, "goto_subroutine", 'e', 2) |
130
|
1
|
|
|
1
|
|
11
|
package GCC::Node::goto_subroutine; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
74
|
|
131
|
|
|
|
|
|
|
|
132
|
|
|
|
|
|
|
# DEFTREECODE (LABELED_BLOCK_EXPR, "labeled_block_expr", 'e', 2) |
133
|
1
|
|
|
1
|
|
5
|
package GCC::Node::labeled_block_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
133
|
|
134
|
|
|
|
|
|
|
|
135
|
|
|
|
|
|
|
# DEFTREECODE (EXIT_BLOCK_EXPR, "exit_block_expr", 'e', 2) |
136
|
|
|
|
|
|
|
package GCC::Node::exit_block_expr; |
137
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
94
|
|
138
|
|
|
|
|
|
|
|
139
|
0
|
|
|
0
|
|
|
sub cond { shift->{cond} } |
140
|
|
|
|
|
|
|
|
141
|
|
|
|
|
|
|
# DEFTREECODE (EXPR_WITH_FILE_LOCATION, "expr_with_file_location", 'e', 3) |
142
|
1
|
|
|
1
|
|
5
|
package GCC::Node::expr_with_file_location; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
73
|
|
143
|
|
|
|
|
|
|
|
144
|
|
|
|
|
|
|
# DEFTREECODE (SWITCH_EXPR, "switch_expr", 'e', 2) |
145
|
1
|
|
|
1
|
|
5
|
package GCC::Node::switch_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
71
|
|
146
|
|
|
|
|
|
|
|
147
|
|
|
|
|
|
|
# DEFTREECODE (EXC_PTR_EXPR, "exc_ptr_expr", 'e', 0) |
148
|
1
|
|
|
1
|
|
5
|
package GCC::Node::exc_ptr_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
74
|
|
149
|
|
|
|
|
|
|
|
150
|
|
|
|
|
|
|
# DEFTREECODE (NEW_EXPR, "nw_expr", 'e', 3) |
151
|
1
|
|
|
1
|
|
5
|
package GCC::Node::nw_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
73
|
|
152
|
|
|
|
|
|
|
|
153
|
|
|
|
|
|
|
# DEFTREECODE (VEC_NEW_EXPR, "vec_nw_expr", 'e', 3) |
154
|
1
|
|
|
1
|
|
5
|
package GCC::Node::vec_nw_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
81
|
|
155
|
|
|
|
|
|
|
|
156
|
|
|
|
|
|
|
# DEFTREECODE (DELETE_EXPR, "dl_expr", 'e', 2) |
157
|
1
|
|
|
1
|
|
5
|
package GCC::Node::dl_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
79
|
|
158
|
|
|
|
|
|
|
|
159
|
|
|
|
|
|
|
# DEFTREECODE (VEC_DELETE_EXPR, "vec_dl_expr", 'e', 2) |
160
|
1
|
|
|
1
|
|
5
|
package GCC::Node::vec_dl_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
93
|
|
161
|
|
|
|
|
|
|
|
162
|
|
|
|
|
|
|
# DEFTREECODE (TYPE_EXPR, "type_expr", 'e', 1) |
163
|
1
|
|
|
1
|
|
5
|
package GCC::Node::type_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
83
|
|
164
|
|
|
|
|
|
|
|
165
|
|
|
|
|
|
|
# DEFTREECODE (AGGR_INIT_EXPR, "aggr_init_expr", 'e', 3) |
166
|
|
|
|
|
|
|
package GCC::Node::aggr_init_expr; |
167
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
130
|
|
168
|
|
|
|
|
|
|
|
169
|
0
|
|
|
0
|
|
|
sub ctor { shift->{ctor} } |
170
|
0
|
|
|
0
|
|
|
sub fn { shift->{fn} } |
171
|
0
|
|
|
0
|
|
|
sub args { shift->{args} } |
172
|
0
|
|
|
0
|
|
|
sub decl { shift->{decl} } |
173
|
|
|
|
|
|
|
|
174
|
|
|
|
|
|
|
# DEFTREECODE (THROW_EXPR, "throw_expr", 'e', 1) |
175
|
1
|
|
|
1
|
|
5
|
package GCC::Node::throw_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
60
|
|
|
1
|
|
|
|
|
83
|
|
176
|
|
|
|
|
|
|
|
177
|
|
|
|
|
|
|
# DEFTREECODE (EMPTY_CLASS_EXPR, "empty_class_expr", 'e', 0) |
178
|
1
|
|
|
1
|
|
5
|
package GCC::Node::empty_class_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
72
|
|
179
|
|
|
|
|
|
|
|
180
|
|
|
|
|
|
|
# DEFTREECODE (USING_STMT, "using_directive", 'e', 1) |
181
|
|
|
|
|
|
|
package GCC::Node::using_directive; |
182
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
147
|
|
183
|
|
|
|
|
|
|
|
184
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
185
|
|
|
|
|
|
|
|
186
|
0
|
|
|
0
|
|
|
sub namespace { shift->{nmsp} } |
187
|
|
|
|
|
|
|
|
188
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
189
|
|
|
|
|
|
|
|
190
|
|
|
|
|
|
|
# DEFTREECODE (TEMPLATE_ID_EXPR, "template_id_expr", 'e', 2) |
191
|
1
|
|
|
1
|
|
6
|
package GCC::Node::template_id_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
74
|
|
192
|
|
|
|
|
|
|
|
193
|
|
|
|
|
|
|
# DEFTREECODE (LOOKUP_EXPR, "lookup_expr", 'e', 1) |
194
|
1
|
|
|
1
|
|
5
|
package GCC::Node::lookup_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
70
|
|
195
|
|
|
|
|
|
|
|
196
|
|
|
|
|
|
|
# DEFTREECODE (MODOP_EXPR, "modop_expr", 'e', 3) |
197
|
1
|
|
|
1
|
|
5
|
package GCC::Node::modop_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
71
|
|
198
|
|
|
|
|
|
|
|
199
|
|
|
|
|
|
|
# DEFTREECODE (DOTSTAR_EXPR, "dotstar_expr", 'e', 2) |
200
|
1
|
|
|
1
|
|
6
|
package GCC::Node::dotstar_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
77
|
|
201
|
|
|
|
|
|
|
|
202
|
|
|
|
|
|
|
# DEFTREECODE (TYPEID_EXPR, "typeid_expr", 'e', 1) |
203
|
1
|
|
|
1
|
|
4
|
package GCC::Node::typeid_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
83
|
|
204
|
|
|
|
|
|
|
|
205
|
|
|
|
|
|
|
# DEFTREECODE (PSEUDO_DTOR_EXPR, "pseudo_dtor_expr", 'e', 3) |
206
|
1
|
|
|
1
|
|
10
|
package GCC::Node::pseudo_dtor_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
66
|
|
207
|
|
|
|
|
|
|
|
208
|
|
|
|
|
|
|
# DEFTREECODE (SUBOBJECT, "subobject", 'e', 1) |
209
|
|
|
|
|
|
|
package GCC::Node::subobject; |
210
|
1
|
|
|
1
|
|
4
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
127
|
|
211
|
|
|
|
|
|
|
|
212
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
213
|
|
|
|
|
|
|
|
214
|
0
|
|
|
0
|
|
|
sub cleanup { shift->{clnp} } |
215
|
|
|
|
|
|
|
|
216
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
217
|
|
|
|
|
|
|
|
218
|
|
|
|
|
|
|
# DEFTREECODE (CTOR_STMT, "ctor_stmt", 'e', 0) |
219
|
|
|
|
|
|
|
package GCC::Node::ctor_stmt; |
220
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
7
|
|
|
1
|
|
|
|
|
229
|
|
221
|
|
|
|
|
|
|
|
222
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
223
|
|
|
|
|
|
|
|
224
|
0
|
|
|
0
|
|
|
sub begin { shift->{begn} } |
225
|
|
|
|
|
|
|
|
226
|
0
|
|
|
0
|
|
|
sub end { shift->{end} } |
227
|
|
|
|
|
|
|
|
228
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
229
|
|
|
|
|
|
|
|
230
|
|
|
|
|
|
|
# DEFTREECODE (CTOR_INITIALIZER, "ctor_initializer", 'e', 2) |
231
|
1
|
|
|
1
|
|
6
|
package GCC::Node::ctor_initializer; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
79
|
|
232
|
|
|
|
|
|
|
|
233
|
|
|
|
|
|
|
# DEFTREECODE (RETURN_INIT, "return_init", 'e', 2) |
234
|
1
|
|
|
1
|
|
5
|
package GCC::Node::return_init; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
79
|
|
235
|
|
|
|
|
|
|
|
236
|
|
|
|
|
|
|
# DEFTREECODE (TRY_BLOCK, "try_block", 'e', 2) |
237
|
|
|
|
|
|
|
package GCC::Node::try_block; |
238
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
179
|
|
239
|
|
|
|
|
|
|
|
240
|
|
|
|
|
|
|
# STMT_LINENO |
241
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
242
|
|
|
|
|
|
|
|
243
|
|
|
|
|
|
|
# CLEANUP_P |
244
|
0
|
|
|
0
|
|
|
sub cleanup { shift->{cleanup} } |
245
|
|
|
|
|
|
|
|
246
|
|
|
|
|
|
|
# TRY_STMTS |
247
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
248
|
|
|
|
|
|
|
|
249
|
|
|
|
|
|
|
# TRY_HANDLERS |
250
|
0
|
|
|
0
|
|
|
sub handlers { shift->{hdlr} } |
251
|
|
|
|
|
|
|
|
252
|
|
|
|
|
|
|
# TREE_CHAIN |
253
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
254
|
|
|
|
|
|
|
|
255
|
|
|
|
|
|
|
# DEFTREECODE (EH_SPEC_BLOCK, "eh_spec_block", 'e', 2) |
256
|
|
|
|
|
|
|
package GCC::Node::eh_spec_block; |
257
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
141
|
|
258
|
|
|
|
|
|
|
|
259
|
|
|
|
|
|
|
# STMT_LINENO |
260
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
261
|
|
|
|
|
|
|
|
262
|
|
|
|
|
|
|
# EH_SPEC_STMTS |
263
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
264
|
|
|
|
|
|
|
|
265
|
|
|
|
|
|
|
# EH_SPEC_RAISES |
266
|
|
|
|
|
|
|
# This violates the GCC -fdump syntax! |
267
|
0
|
|
|
0
|
|
|
sub raises { shift->{raises} } |
268
|
|
|
|
|
|
|
|
269
|
|
|
|
|
|
|
# TREE_CHAIN |
270
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
271
|
|
|
|
|
|
|
|
272
|
|
|
|
|
|
|
# DEFTREECODE (HANDLER, "handler", 'e', 2) |
273
|
|
|
|
|
|
|
package GCC::Node::handler; |
274
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
151
|
|
275
|
|
|
|
|
|
|
|
276
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
277
|
|
|
|
|
|
|
|
278
|
|
|
|
|
|
|
# HANDLER_PARMS |
279
|
0
|
|
|
0
|
|
|
sub parms { shift->{parm} } |
280
|
|
|
|
|
|
|
|
281
|
|
|
|
|
|
|
# HANDLER_BODY |
282
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
283
|
|
|
|
|
|
|
|
284
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
285
|
|
|
|
|
|
|
|
286
|
|
|
|
|
|
|
# DEFTREECODE (MUST_NOT_THROW_EXPR, "must_not_throw_expr", 'e', 1) |
287
|
|
|
|
|
|
|
package GCC::Node::must_not_throw_expr; |
288
|
1
|
|
|
1
|
|
10
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
188
|
|
289
|
|
|
|
|
|
|
|
290
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
291
|
|
|
|
|
|
|
|
292
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
293
|
|
|
|
|
|
|
|
294
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
295
|
|
|
|
|
|
|
|
296
|
|
|
|
|
|
|
# DEFTREECODE (TAG_DEFN, "tag_defn", 'e', 0) |
297
|
1
|
|
|
1
|
|
6
|
package GCC::Node::tag_defn; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
76
|
|
298
|
|
|
|
|
|
|
|
299
|
|
|
|
|
|
|
# DEFTREECODE (IDENTITY_CONV, "identity_conv", 'e', 1) |
300
|
1
|
|
|
1
|
|
4
|
package GCC::Node::identity_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
69
|
|
301
|
|
|
|
|
|
|
|
302
|
|
|
|
|
|
|
# DEFTREECODE (LVALUE_CONV, "lvalue_conv", 'e', 1) |
303
|
1
|
|
|
1
|
|
5
|
package GCC::Node::lvalue_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
79
|
|
304
|
|
|
|
|
|
|
|
305
|
|
|
|
|
|
|
# DEFTREECODE (QUAL_CONV, "qual_conv", 'e', 1) |
306
|
1
|
|
|
1
|
|
6
|
package GCC::Node::qual_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
71
|
|
307
|
|
|
|
|
|
|
|
308
|
|
|
|
|
|
|
# DEFTREECODE (STD_CONV, "std_conv", 'e', 1) |
309
|
1
|
|
|
1
|
|
10
|
package GCC::Node::std_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
70
|
|
310
|
|
|
|
|
|
|
|
311
|
|
|
|
|
|
|
# DEFTREECODE (PTR_CONV, "ptr_conv", 'e', 1) |
312
|
1
|
|
|
1
|
|
4
|
package GCC::Node::ptr_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
74
|
|
313
|
|
|
|
|
|
|
|
314
|
|
|
|
|
|
|
# DEFTREECODE (PMEM_CONV, "pmem_conv", 'e', 1) |
315
|
1
|
|
|
1
|
|
5
|
package GCC::Node::pmem_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
80
|
|
316
|
|
|
|
|
|
|
|
317
|
|
|
|
|
|
|
# DEFTREECODE (BASE_CONV, "base_conv", 'e', 1) |
318
|
1
|
|
|
1
|
|
6
|
package GCC::Node::base_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
76
|
|
319
|
|
|
|
|
|
|
|
320
|
|
|
|
|
|
|
# DEFTREECODE (REF_BIND, "ref_bind", 'e', 1) |
321
|
1
|
|
|
1
|
|
5
|
package GCC::Node::ref_bind; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
77
|
|
322
|
|
|
|
|
|
|
|
323
|
|
|
|
|
|
|
# DEFTREECODE (USER_CONV, "user_conv", 'e', 2) |
324
|
1
|
|
|
1
|
|
4
|
package GCC::Node::user_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
77
|
|
325
|
|
|
|
|
|
|
|
326
|
|
|
|
|
|
|
# DEFTREECODE (AMBIG_CONV, "ambig_conv", 'e', 1) |
327
|
1
|
|
|
1
|
|
7
|
package GCC::Node::ambig_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
175
|
|
328
|
|
|
|
|
|
|
|
329
|
|
|
|
|
|
|
# DEFTREECODE (RVALUE_CONV, "rvalue_conv", 'e', 1) |
330
|
1
|
|
|
1
|
|
7
|
package GCC::Node::rvalue_conv; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
86
|
|
331
|
|
|
|
|
|
|
|
332
|
|
|
|
|
|
|
# DEFTREECODE (ARROW_EXPR, "arrow_expr", 'e', 1) |
333
|
1
|
|
|
1
|
|
5
|
package GCC::Node::arrow_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
87
|
|
334
|
|
|
|
|
|
|
|
335
|
|
|
|
|
|
|
# DEFTREECODE (EXPR_STMT, "expr_stmt", 'e', 1) |
336
|
|
|
|
|
|
|
package GCC::Node::expr_stmt; |
337
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
292
|
|
338
|
|
|
|
|
|
|
|
339
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
340
|
|
|
|
|
|
|
|
341
|
|
|
|
|
|
|
# EXPR_STMT_EXPR |
342
|
0
|
|
|
0
|
|
|
sub expr { shift->{expr} } |
343
|
|
|
|
|
|
|
|
344
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
345
|
|
|
|
|
|
|
|
346
|
|
|
|
|
|
|
# DEFTREECODE (COMPOUND_STMT, "compound_stmt", 'e', 1) |
347
|
|
|
|
|
|
|
package GCC::Node::compound_stmt; |
348
|
1
|
|
|
1
|
|
7
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
202
|
|
349
|
|
|
|
|
|
|
|
350
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
351
|
|
|
|
|
|
|
|
352
|
|
|
|
|
|
|
# COMPOUND_BODY |
353
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
354
|
|
|
|
|
|
|
|
355
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
356
|
|
|
|
|
|
|
|
357
|
|
|
|
|
|
|
# DEFTREECODE (DECL_STMT, "decl_stmt", 'e', 1) |
358
|
|
|
|
|
|
|
package GCC::Node::decl_stmt; |
359
|
1
|
|
|
1
|
|
13
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
5
|
|
|
1
|
|
|
|
|
152
|
|
360
|
|
|
|
|
|
|
|
361
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
362
|
|
|
|
|
|
|
|
363
|
|
|
|
|
|
|
# DECL_STMT_DECL |
364
|
0
|
|
|
0
|
|
|
sub decl { shift->{decl} } |
365
|
|
|
|
|
|
|
|
366
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
367
|
|
|
|
|
|
|
|
368
|
|
|
|
|
|
|
# DEFTREECODE (IF_STMT, "if_stmt", 'e', 3) |
369
|
|
|
|
|
|
|
package GCC::Node::if_stmt; |
370
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
206
|
|
371
|
|
|
|
|
|
|
|
372
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
373
|
|
|
|
|
|
|
|
374
|
|
|
|
|
|
|
# IF_COND |
375
|
0
|
|
|
0
|
|
|
sub cond { shift->{cond} } |
376
|
|
|
|
|
|
|
|
377
|
|
|
|
|
|
|
# THEN_CLAUSE |
378
|
0
|
|
|
0
|
|
|
sub then_clause { shift->{'then'} } |
379
|
|
|
|
|
|
|
|
380
|
|
|
|
|
|
|
# ELSE_CLAUSE |
381
|
0
|
|
|
0
|
|
|
sub else_clause { shift->{'else'} } |
382
|
|
|
|
|
|
|
|
383
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
384
|
|
|
|
|
|
|
|
385
|
|
|
|
|
|
|
# DEFTREECODE (FOR_STMT, "for_stmt", 'e', 4) |
386
|
|
|
|
|
|
|
package GCC::Node::for_stmt; |
387
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
230
|
|
388
|
|
|
|
|
|
|
|
389
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
390
|
|
|
|
|
|
|
|
391
|
|
|
|
|
|
|
# FOR_INIT_STMT |
392
|
0
|
|
|
0
|
|
|
sub init { shift->{init} } |
393
|
|
|
|
|
|
|
|
394
|
|
|
|
|
|
|
# FOR_COND |
395
|
0
|
|
|
0
|
|
|
sub cond { shift->{cond} } |
396
|
|
|
|
|
|
|
|
397
|
|
|
|
|
|
|
# FOR_EXPR |
398
|
0
|
|
|
0
|
|
|
sub expr { shift->{expr} } |
399
|
|
|
|
|
|
|
|
400
|
|
|
|
|
|
|
# FOR_BODY |
401
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
402
|
|
|
|
|
|
|
|
403
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
404
|
|
|
|
|
|
|
# DEFTREECODE (WHILE_STMT, "while_stmt", 'e', 2) |
405
|
|
|
|
|
|
|
package GCC::Node::while_stmt; |
406
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
181
|
|
407
|
|
|
|
|
|
|
|
408
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
409
|
|
|
|
|
|
|
|
410
|
|
|
|
|
|
|
# WHILE_COND |
411
|
0
|
|
|
0
|
|
|
sub cond { shift->{cond} } |
412
|
|
|
|
|
|
|
|
413
|
|
|
|
|
|
|
# WHILE_BODY |
414
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
415
|
|
|
|
|
|
|
|
416
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
417
|
|
|
|
|
|
|
|
418
|
|
|
|
|
|
|
# DEFTREECODE (DO_STMT, "do_stmt", 'e', 2) |
419
|
|
|
|
|
|
|
package GCC::Node::do_stmt; |
420
|
1
|
|
|
1
|
|
7
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
168
|
|
421
|
|
|
|
|
|
|
|
422
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
423
|
|
|
|
|
|
|
|
424
|
|
|
|
|
|
|
# DO_BODY |
425
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
426
|
|
|
|
|
|
|
|
427
|
|
|
|
|
|
|
# DO_COND |
428
|
0
|
|
|
0
|
|
|
sub cond { shift->{cond} } |
429
|
|
|
|
|
|
|
|
430
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
431
|
|
|
|
|
|
|
|
432
|
|
|
|
|
|
|
# DEFTREECODE (RETURN_STMT, "return_stmt", 'e', 1) |
433
|
|
|
|
|
|
|
package GCC::Node::return_stmt; |
434
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
145
|
|
435
|
|
|
|
|
|
|
|
436
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
437
|
|
|
|
|
|
|
|
438
|
|
|
|
|
|
|
# RETURN_EXPR |
439
|
0
|
|
|
0
|
|
|
sub expr { shift->{expr} } |
440
|
|
|
|
|
|
|
|
441
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
442
|
|
|
|
|
|
|
|
443
|
|
|
|
|
|
|
# DEFTREECODE (BREAK_STMT, "break_stmt", 'e', 0) |
444
|
|
|
|
|
|
|
package GCC::Node::break_stmt; |
445
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
123
|
|
446
|
|
|
|
|
|
|
|
447
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
448
|
|
|
|
|
|
|
|
449
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
450
|
|
|
|
|
|
|
|
451
|
|
|
|
|
|
|
# DEFTREECODE (CONTINUE_STMT, "continue_stmt", 'e', 0) |
452
|
|
|
|
|
|
|
package GCC::Node::continue_stmt; |
453
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
212
|
|
454
|
|
|
|
|
|
|
|
455
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
456
|
|
|
|
|
|
|
|
457
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
458
|
|
|
|
|
|
|
|
459
|
|
|
|
|
|
|
# DEFTREECODE (SWITCH_STMT, "switch_stmt", 'e', 3) |
460
|
|
|
|
|
|
|
package GCC::Node::switch_stmt; |
461
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
372
|
|
462
|
|
|
|
|
|
|
|
463
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
464
|
|
|
|
|
|
|
|
465
|
|
|
|
|
|
|
# SWITCH_COND |
466
|
0
|
|
|
0
|
|
|
sub cond { shift->{cond} } |
467
|
|
|
|
|
|
|
|
468
|
|
|
|
|
|
|
# SWITCH_BODY |
469
|
0
|
|
|
0
|
|
|
sub body { shift->{body} } |
470
|
|
|
|
|
|
|
|
471
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
472
|
|
|
|
|
|
|
# DEFTREECODE (GOTO_STMT, "goto_stmt", 'e', 1) |
473
|
|
|
|
|
|
|
package GCC::Node::goto_stmt; |
474
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
127
|
|
475
|
|
|
|
|
|
|
|
476
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
477
|
|
|
|
|
|
|
|
478
|
|
|
|
|
|
|
# GOTO_DESTINATION |
479
|
0
|
|
|
0
|
|
|
sub destination { shift->{dest} } |
480
|
|
|
|
|
|
|
|
481
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
482
|
|
|
|
|
|
|
|
483
|
|
|
|
|
|
|
# DEFTREECODE (LABEL_STMT, "label_stmt", 'e', 1) |
484
|
|
|
|
|
|
|
package GCC::Node::label_stmt; |
485
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
134
|
|
486
|
|
|
|
|
|
|
|
487
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
488
|
|
|
|
|
|
|
|
489
|
|
|
|
|
|
|
# LABEL_STMT_LABEL |
490
|
0
|
|
|
0
|
|
|
sub label { shift->{labl} } |
491
|
|
|
|
|
|
|
|
492
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
493
|
|
|
|
|
|
|
|
494
|
|
|
|
|
|
|
# DEFTREECODE (ASM_STMT, "asm_stmt", 'e', 5) |
495
|
|
|
|
|
|
|
package GCC::Node::asm_stmt; |
496
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
1
|
|
|
1
|
|
|
|
|
335
|
|
497
|
|
|
|
|
|
|
|
498
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
499
|
|
|
|
|
|
|
|
500
|
|
|
|
|
|
|
# ASM_VOLATILE_P |
501
|
0
|
|
|
0
|
|
|
sub volatile { shift->{volatile} } |
502
|
|
|
|
|
|
|
|
503
|
|
|
|
|
|
|
# ASM_STRING |
504
|
0
|
|
|
0
|
|
|
sub string { shift->{strg} } |
505
|
|
|
|
|
|
|
|
506
|
|
|
|
|
|
|
# ASM_OUTPUTS |
507
|
0
|
|
|
0
|
|
|
sub outputs { shift->{outs} } |
508
|
|
|
|
|
|
|
|
509
|
|
|
|
|
|
|
# ASM_INPUTS |
510
|
0
|
|
|
0
|
|
|
sub inputs { shift->{ins} } |
511
|
|
|
|
|
|
|
|
512
|
|
|
|
|
|
|
# ASM_CLOBBERS |
513
|
0
|
|
|
0
|
|
|
sub clobbers { shift->{clbr} } |
514
|
|
|
|
|
|
|
|
515
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
516
|
|
|
|
|
|
|
# DEFTREECODE (SCOPE_STMT, "scope_stmt", 'e', 1) |
517
|
|
|
|
|
|
|
package GCC::Node::scope_stmt; |
518
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
194
|
|
519
|
|
|
|
|
|
|
|
520
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
521
|
|
|
|
|
|
|
|
522
|
|
|
|
|
|
|
# SCOPE_BEGIN_P |
523
|
0
|
|
|
0
|
|
|
sub begin { shift->{begn} } |
524
|
0
|
|
|
0
|
|
|
sub end { shift->{end} } |
525
|
|
|
|
|
|
|
|
526
|
|
|
|
|
|
|
# SCOPE_NULLIFIED_P |
527
|
0
|
|
|
0
|
|
|
sub nullified { shift->{null} } |
528
|
|
|
|
|
|
|
|
529
|
|
|
|
|
|
|
# !SCOPE_NO_CLEANUPS_P |
530
|
0
|
|
|
0
|
|
|
sub cleanups { shift->{clnp} } |
531
|
|
|
|
|
|
|
|
532
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
533
|
|
|
|
|
|
|
# DEFTREECODE (FILE_STMT, "file_stmt", 'e', 1) |
534
|
1
|
|
|
1
|
|
6
|
package GCC::Node::file_stmt; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
81
|
|
535
|
|
|
|
|
|
|
|
536
|
|
|
|
|
|
|
# DEFTREECODE (CASE_LABEL, "case_label", 'e', 3) |
537
|
|
|
|
|
|
|
package GCC::Node::case_label; |
538
|
1
|
|
|
1
|
|
5
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
126
|
|
539
|
|
|
|
|
|
|
|
540
|
|
|
|
|
|
|
# CASE_LOW |
541
|
0
|
|
|
0
|
|
|
sub low { shift->{low} } |
542
|
|
|
|
|
|
|
|
543
|
|
|
|
|
|
|
# CASE_HIGH |
544
|
0
|
|
|
0
|
|
|
sub high { shift->{high} } |
545
|
|
|
|
|
|
|
|
546
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
547
|
|
|
|
|
|
|
|
548
|
|
|
|
|
|
|
# DEFTREECODE (STMT_EXPR, "stmt_expr", 'e', 1) |
549
|
|
|
|
|
|
|
package GCC::Node::stmt_expr; |
550
|
1
|
|
|
1
|
|
10
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
91
|
|
551
|
|
|
|
|
|
|
|
552
|
|
|
|
|
|
|
# STMT_EXPR_STMT |
553
|
0
|
|
|
0
|
|
|
sub stmt { shift->{stmt} } |
554
|
|
|
|
|
|
|
|
555
|
|
|
|
|
|
|
# DEFTREECODE (COMPOUND_LITERAL_EXPR, "compound_literal_expr", 'e', 1) |
556
|
1
|
|
|
1
|
|
5
|
package GCC::Node::compound_literal_expr; use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
81
|
|
557
|
|
|
|
|
|
|
# DEFTREECODE (CLEANUP_STMT, "cleanup_stmt", 'e', 2) |
558
|
|
|
|
|
|
|
package GCC::Node::cleanup_stmt; |
559
|
1
|
|
|
1
|
|
6
|
use base qw(GCC::Node::Expression); |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
323
|
|
560
|
|
|
|
|
|
|
|
561
|
0
|
|
|
0
|
|
|
sub line { shift->{line} } |
562
|
|
|
|
|
|
|
|
563
|
|
|
|
|
|
|
# CLEANUP_DECL |
564
|
0
|
|
|
0
|
|
|
sub decl { shift->{decl} } |
565
|
|
|
|
|
|
|
|
566
|
|
|
|
|
|
|
# CLEANUP_EXPR |
567
|
0
|
|
|
0
|
|
|
sub expr { shift->{expr} } |
568
|
|
|
|
|
|
|
|
569
|
0
|
|
|
0
|
|
|
sub chain { shift->{'next'} } |
570
|
|
|
|
|
|
|
|
571
|
|
|
|
|
|
|
|
572
|
|
|
|
|
|
|
# vim:set shiftwidth=4 softtabstop=4: |
573
|
|
|
|
|
|
|
1; |