(node, lineno, col_offset, end_lineno, end_col_offset)
| 203 | parent node. It works recursively starting at *node*. |
| 204 | """ |
| 205 | def _fix(node, lineno, col_offset, end_lineno, end_col_offset): |
| 206 | if 'lineno' in node._attributes: |
| 207 | if not hasattr(node, 'lineno'): |
| 208 | node.lineno = lineno |
| 209 | else: |
| 210 | lineno = node.lineno |
| 211 | if 'end_lineno' in node._attributes: |
| 212 | if getattr(node, 'end_lineno', None) is None: |
| 213 | node.end_lineno = end_lineno |
| 214 | else: |
| 215 | end_lineno = node.end_lineno |
| 216 | if 'col_offset' in node._attributes: |
| 217 | if not hasattr(node, 'col_offset'): |
| 218 | node.col_offset = col_offset |
| 219 | else: |
| 220 | col_offset = node.col_offset |
| 221 | if 'end_col_offset' in node._attributes: |
| 222 | if getattr(node, 'end_col_offset', None) is None: |
| 223 | node.end_col_offset = end_col_offset |
| 224 | else: |
| 225 | end_col_offset = node.end_col_offset |
| 226 | for child in iter_child_nodes(node): |
| 227 | _fix(child, lineno, col_offset, end_lineno, end_col_offset) |
| 228 | _fix(node, 1, 0, 1, 0) |
| 229 | return node |
| 230 |
no test coverage detected