code: def _verify_legacy_symbol(op_name, func_name, sym):
      """Verify if the sym is a legacy symbol.
  
      Parameters
      ----------
      op_name : str
          Operator full name registered in backend.
      func_name : str
          Operator name exposed to users. This is usually the name by stripping off
          the prefix of the full operator names registered in backend.
      sym : symbol to be verified
      """
      from .numpy._symbol import _Symbol as np_symbol
  
      if isinstance(sym, np_symbol):
          raise TypeError(
              "Operator `{}` registered in backend is known as `{}` in Python. "
              "This is a legacy operator which can only accept "
              "legacy ndarrays, while received an MXNet numpy ndarray. "
              "Please call `as_nd_ndarray()` upon the numpy ndarray to "
              "convert it to a legacy ndarray, and then feed the converted "
              "array to this operator.".format(op_name, func_name)
          )
  
file_path: mxnet/python/mxnet/symbol/register.py
imports: import os
  import ctypes
  import numpy
  from .None import _internal
  from ..None import name, attribute
  from ._internal import SymbolBase, _symbol_creator
  from ..base import mx_uint, check_call, _LIB, py_str
  from ..symbol_doc import _build_doc
  from ..base import _Null, _init_op_module, _is_np_op, _output_is_list
  from ..name import NameManager
  from ..profiler import _current_scope
  from ..ndarray import get_dtype_name
  from .contrib import adamw_update, mp_adamw_update
  from ._internal import _adamw_update, _mp_adamw_update
label_desc: Use image node_id 2 for calling a global function with example usage: _verify_legacy_symbol(op_name, func_name, sym) without return types