| @@ | |
| type T; | |
| identifier i; | |
| expression dst; | |
| struct strvec *src_ptr; | |
| struct strvec src_arr; | |
| @@ | |
| ( | |
| - for (T i = 0; i < src_ptr->nr; i++) { strvec_push(dst, src_ptr->v[i]); } | |
| + strvec_pushv(dst, src_ptr->v); | |
| | | |
| - for (T i = 0; i < src_arr.nr; i++) { strvec_push(dst, src_arr.v[i]); } | |
| + strvec_pushv(dst, src_arr.v); | |
| ) | |
| @ separate_loop_index @ | |
| type T; | |
| identifier i; | |
| expression dst; | |
| struct strvec *src_ptr; | |
| struct strvec src_arr; | |
| @@ | |
| T i; | |
| ... | |
| ( | |
| - for (i = 0; i < src_ptr->nr; i++) { strvec_push(dst, src_ptr->v[i]); } | |
| + strvec_pushv(dst, src_ptr->v); | |
| | | |
| - for (i = 0; i < src_arr.nr; i++) { strvec_push(dst, src_arr.v[i]); } | |
| + strvec_pushv(dst, src_arr.v); | |
| ) | |
| @ unused_loop_index extends separate_loop_index @ | |
| @@ | |
| { | |
| ... | |
| - T i; | |
| ... when != i | |
| } | |
| @ depends on unused_loop_index @ | |
| @@ | |
| if (...) | |
| - { | |
| strvec_pushv(...); | |
| - } |