class_docstr: Internal class used by sympify_return and sympify_method_args
code: def make_wrapped(self, cls):
      func = self.func
      parameters, retval = self.args
  
      # XXX: Handle more than one parameter?
      [(parameter, expectedcls)] = parameters
  
      # Handle forward references to the current class using strings
      if expectedcls == cls.__name__:
          expectedcls = cls
  
      # Raise RuntimeError since this is a failure at import time and should
      # not be recoverable.
      nargs = func.__code__.co_argcount
      # we support f(a, b) only
      if nargs != 2:
          raise RuntimeError(
              "sympify_return can only be used with 2 argument functions"
          )
      # only b is _sympified
      if func.__code__.co_varnames[1] != parameter:
          raise RuntimeError(
              'parameter name mismatch "%s" in %s'
              % (parameter, func.__name__)
          )
  
      @wraps(func)
      def _func(self, other):
          # XXX: The check for _op_priority here should be removed. It is
          # needed to stop mutable matrices from being sympified to
          # immutable matrices which breaks things in quantum...
          if not hasattr(other, "_op_priority"):
              try:
                  other = sympify(other, strict=True)
              except SympifyError:
                  return retval
          if not isinstance(other, expectedcls):
              return retval
          return func(self, other)
  
      return _func
  
file_path: sympy/sympy/core/decorators.py
imports: from functools import wraps
  from .sympify import SympifyError, sympify
label_desc: Use image node_id 2 for calling the _SympifyWrapper obj's underlying member method code with example usage: obj.make_wrapped(cls) and returns: _func, func, retval, retval