class_docstr: Transforms the call tree by renaming transformed symbols.
class_docstr_tok: ["Transforms","the","call","tree","by","renaming","transformed","symbols","."]
code: def visit_Call(self, node):
      full_name = str(
          anno.getanno(node.func, anno.Basic.QN, default="")
      )
      function_context_name = self.state[_Function].context_name
      node = self.generic_visit(node)
  
      # TODO(mdan): Refactor converted_call as a 'Call' operator.
  
      # Calls to the internal 'ag__' module are never converted (though their
      # arguments might be).
      if full_name.startswith("ag__."):
          return node
  
      # Calls to the function context manager (inserted by function_scopes) are
      # also safe.
      if full_name.startswith(function_context_name + "."):
          return node
  
      # Calls to pdb.set_trace or ipdb.set_trace are never converted. We don't use
      # the normal mechanisms to bypass these literals because they are sensitive
      # to the frame they are being called from.
      # TODO(mdan): Generalize this to a "static allowlist" config.
      if full_name in ("pdb.set_trace", "ipdb.set_trace", "breakpoint"):
          global set_trace_warned
          if not set_trace_warned:
              # TODO(klecki): Point to a DALI-specific documentation here.
              ag_logging.warning(
                  "Detected `pdb.set_trace()` in user code. The code"
                  " generated by AutoGraph is not optimized for step-by-step"
                  " debugging."
              )
              set_trace_warned = True
          return node
  
      if full_name == "print" and not self.ctx.user.options.uses(
          converter.Feature.BUILTIN_FUNCTIONS
      ):
          return node
  
      template = """
        ag__.converted_call(func, args, kwargs, function_ctx)
      """
      new_call = templates.replace_as_expression(
          template,
          func=node.func,
          args=self._args_to_tuple(node),
          kwargs=self._kwargs_to_dict(node),
          function_ctx=function_context_name,
      )
  
      return new_call
  
imports: import gast
  from nvidia.dali._autograph.core import converter
  from nvidia.dali._autograph.pyct import anno
  from nvidia.dali._autograph.pyct import parser
  from nvidia.dali._autograph.pyct import qual_names
  from nvidia.dali._autograph.pyct import templates
  from nvidia.dali._autograph.utils import ag_logging
label_desc: Use image node_id 6 for calling the CallTreeTransformer obj's underlying member method code with example usage: obj.visit_Call(node) and returns: new_call, node, node, node, node