File Coverage

blib/lib/GCC/Node/Expression.pm
Criterion Covered Total %
statement 285 395 72.1
branch 0 2 0.0
condition n/a
subroutine 95 203 46.8
pod 0 3 0.0
total 380 603 63.0


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;