parameters: (output_node, input_node, function_data)
docstring: Updates the type attributes and function names of If or StatelessIf.
  
    Args:
      output_node: TensorFlow NodeDef.
      input_node: TensorFlow NodeDef.
      function_data: Map of function names to the list of types and shapes that
        correspond with the function arguments.
docstring_summary: Updates the type attributes and function names of If or StatelessIf.
docstring_tokens: Updates the type attributes and function names of If or StatelessIf .
function: def _populate_if_op(output_node, input_node, function_data):
    """Updates the type attributes and function names of If or StatelessIf.
  
    Args:
      output_node: TensorFlow NodeDef.
      input_node: TensorFlow NodeDef.
      function_data: Map of function names to the list of types and shapes that
        correspond with the function arguments.
    """
    output_node.CopyFrom(input_node)
    then_func = input_node.attr["then_branch"].func.name
    output_node.attr["then_branch"].func.name = _get_new_function_name(then_func)
    output_node.attr["else_branch"].func.name = _get_new_function_name(
        input_node.attr["else_branch"].func.name)
    output_node.attr["Tin"].list.CopyFrom(
        attr_value_pb2.AttrValue.ListValue(
            type=function_data[then_func]["types"]))
function_tokens: def _populate_if_op ( output_node , input_node , function_data ) : output_node . CopyFrom ( input_node ) then_func = input_node . attr [ "then_branch" ] . func . name output_node . attr [ "then_branch" ] . func . name = _get_new_function_name ( then_func ) output_node . attr [ "else_branch" ] . func . name = _get_new_function_name ( input_node . attr [ "else_branch" ] . func . name ) output_node . attr [ "Tin" ] . list . CopyFrom ( attr_value_pb2 . AttrValue . ListValue ( type = function_data [ then_func ] [ "types" ] ) )