12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /// These iterators only exit normally when the loop cursor is NULL, so there
- /// is no point to call of_node_put on the final value.
- ///
- // Confidence: High
- // Copyright: (C) 2010 Nicolas Palix, DIKU. GPLv2.
- // Copyright: (C) 2010 Julia Lawall, DIKU. GPLv2.
- // Copyright: (C) 2010 Gilles Muller, INRIA/LiP6. GPLv2.
- // URL: http://coccinelle.lip6.fr/
- // Comments:
- // Options: -no_includes -include_headers
- virtual patch
- @@
- iterator name for_each_node_by_name;
- expression np,E;
- identifier l;
- @@
- for_each_node_by_name(np,...) {
- ... when != break;
- when != goto l;
- }
- ... when != np = E
- - of_node_put(np);
- @@
- iterator name for_each_node_by_type;
- expression np,E;
- identifier l;
- @@
- for_each_node_by_type(np,...) {
- ... when != break;
- when != goto l;
- }
- ... when != np = E
- - of_node_put(np);
- @@
- iterator name for_each_compatible_node;
- expression np,E;
- identifier l;
- @@
- for_each_compatible_node(np,...) {
- ... when != break;
- when != goto l;
- }
- ... when != np = E
- - of_node_put(np);
- @@
- iterator name for_each_matching_node;
- expression np,E;
- identifier l;
- @@
- for_each_matching_node(np,...) {
- ... when != break;
- when != goto l;
- }
- ... when != np = E
- - of_node_put(np);
|