Update the value of desc's attribute by attribute's name.
(self, desc, name, val)
| 5997 | return target_node |
| 5998 | |
| 5999 | def _update_desc_attr(self, desc, name, val): |
| 6000 | """ |
| 6001 | Update the value of desc's attribute by attribute's name. |
| 6002 | """ |
| 6003 | if isinstance(val, Variable): |
| 6004 | desc.set_var_attr(name, val.desc) |
| 6005 | elif isinstance(val, list) and _all_is_type(val, Variable): |
| 6006 | desc.set_vars_attr(name, [v.desc for v in val]) |
| 6007 | elif isinstance(val, Block): |
| 6008 | desc.set_block_attr(name, val.desc) |
| 6009 | elif isinstance(val, list) and val and _all_is_type(val, Block): |
| 6010 | desc.set_blocks_attr(name, [v.desc for v in val]) |
| 6011 | elif isinstance(val, (core.BlockDesc, core.ProgramDesc)): |
| 6012 | desc.set_serialized_attr(name, val.serialize_to_string()) |
| 6013 | else: |
| 6014 | desc._set_attr(name, val) |
| 6015 | |
| 6016 | |
| 6017 | class Program: |
no test coverage detected