code: def copy_location(new_node, old_node):
      """
      Copy source location (`lineno`, `col_offset`, `end_lineno`, and
      `end_col_offset` attributes) from *old_node* to *new_node* if possible,
      and return *new_node*.
      """
      for attr in (
          "lineno",
          "col_offset",
          "end_lineno",
          "end_col_offset",
      ):
          if (
              attr in old_node._attributes
              and attr in new_node._attributes
              and hasattr(old_node, attr)
          ):
              setattr(new_node, attr, getattr(old_node, attr))
      return new_node
  
file_path: catboost/contrib/python/gast/gast/gast.py
imports: import sys
  import ast
  from ast import boolop, cmpop, excepthandler, expr, expr_context, operator
  from ast import slice, stmt, unaryop, mod, AST
  from ast import iter_child_nodes, walk
label_desc: Use image node_id 6 for calling a global function with example usage: copy_location(new_node, old_node) and returns: new_node