1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
@@
expression node, child;
symbol drop_me;
iterator name for_each_child_of_node;
@@
for_each_child_of_node(node,child) {
...
+ of_node_put(drop_me, child);
}
@@
expression node, child;
symbol drop_me;
iterator name for_each_child_of_node, for_each_child_of_node_scoped;
statement S;
identifier L;
@@
-for_each_child_of_node
+for_each_child_of_node_scoped
(node,child) {
... when strict
(
- {
- of_node_put(child);
return ...;
- }
|
- {
- of_node_put(child);
goto L;
- }
|
- {
- of_node_put(child);
break;
- }
|
- of_node_put(child);
return ...;
|
- of_node_put(child);
break;
|
- of_node_put(drop_me, child);
)
}
@@
expression child;
symbol drop_me;
@@
- of_node_put(drop_me, child);
|