| 1617 | // |
| 1618 | |
| 1619 | static void gen_emodify( const act* action, int column) |
| 1620 | { |
| 1621 | TEXT s1[MAX_REF_SIZE], s2[MAX_REF_SIZE]; |
| 1622 | |
| 1623 | upd* modify = (upd*) action->act_object; |
| 1624 | |
| 1625 | for (ref* reference = modify->upd_port->por_references; reference; reference = reference->ref_next) |
| 1626 | { |
| 1627 | ref* source = reference->ref_source; |
| 1628 | if (!source) |
| 1629 | continue; |
| 1630 | const gpre_fld* field = reference->ref_field; |
| 1631 | printa(column, "%s := %s;", gen_name(s1, reference, true), gen_name(s2, source, true)); |
| 1632 | if (field->fld_array_info) |
| 1633 | gen_get_or_put_slice(action, reference, false, column); |
| 1634 | } |
| 1635 | |
| 1636 | gen_send(action, modify->upd_port, column); |
| 1637 | } |
| 1638 | |
| 1639 | |
| 1640 | //____________________________________________________________ |
no test coverage detected