class_docstr: Abstract class for a node in a Ray task graph.
  
  A node has a type (e.g., FunctionNode), data (e.g., function options and
  body), arguments (Python values, DAGNodes, and DAGNodes nested within Python
  argument values) and options (Ray API .options() used for function, class
  or class method)
docstr: Return the list of nodes specified as top-level args.
  
  For example, in `f.remote(a, [b])`, only `a` is a top-level arg.
  
  This list of nodes are those that are typically resolved prior to
  task execution in Ray. This does not include nodes nested within args.
  For that, use ``_get_all_child_nodes()``.
docstr_tok: ["Return","the","list","of","nodes","specified","as","top-level","args",".","For","example",",","in","`","f.remote","(","a",",","[","b","]",")","`",",","only","`","a","`","is","a","top-level","arg",".","This","list","of","nodes","are","those","that","are","typically","resolved","prior","to","task","execution","in","Ray",".","This","does","not","include","nodes","nested","within","args",".","For","that",",","use","``","_get_all_child_nodes","(",")","``","."]
code: def _get_toplevel_child_nodes(self) -> List["DAGNode"]:
      """Return the list of nodes specified as top-level args.
  
      For example, in `f.remote(a, [b])`, only `a` is a top-level arg.
  
      This list of nodes are those that are typically resolved prior to
      task execution in Ray. This does not include nodes nested within args.
      For that, use ``_get_all_child_nodes()``.
      """
  
      # we use List instead of Set here because the hash key of the node
      # object changes each time we create it. So if using Set here, the
      # order of returned children can be different if we create the same
      # nodes and dag one more time.
      children = []
      for a in self.get_args():
          if isinstance(a, DAGNode):
              if a not in children:
                  children.append(a)
      for a in self.get_kwargs().values():
          if isinstance(a, DAGNode):
              if a not in children:
                  children.append(a)
      for a in self.get_other_args_to_resolve().values():
          if isinstance(a, DAGNode):
              if a not in children:
                  children.append(a)
      return children
  
imports: import ray
  from ray.dag.base import DAGNodeBase
  from ray.dag.py_obj_scanner import _PyObjScanner
  from ray.util.annotations import DeveloperAPI
  from typing import Optional, Union, List, Tuple, Dict, Any, TypeVar, Callable
  import uuid
  import asyncio
  from ray.dag.compiled_dag_node import build_compiled_dag_from_ray_dag
label_desc: Use image node_id 10 for calling the DAGNode obj's underlying member method code with example usage: obj._get_toplevel_child_nodes() and returns: children