docstr: Test this pattern does not raise any exceptions.
code: def test_decorated_method_w_self_no_exception(self):
      """Test this pattern does not raise any exceptions."""
  
      def dummy_tf_function(func):
          func_map = free_vars_detect._detect_function_free_vars(func)
          self.assertLen(func_map, 1)
          self.assertIn("foo", func_map.keys())
          free_vars = get_var_name(func_map["foo"])
          self.assertSequenceEqual(free_vars, ["dummy_tf_function"])
  
          def wrapper(*args, **kwargs):
              return func(*args, **kwargs)
  
          return wrapper
  
      glob = 1
  
      # This pattern is not fully supported yet in the sense that `self.bar()` is
      # not inspected so `glob` cannot be detected.
      # The reason is the neither `self` nor `self.bar` is accessible from the
      # perspective of dummy_tf_function decorator.
      # One possible solution is parsing the source code of the whole module,
      # instead of single function. And probably get the source of `self.bar`
      # from the AST of the module where `Foo` is defined. One potentail challenge
      # of this approach is how to locate the decorated function in the AST.
      class Foo:
          @dummy_tf_function
          def foo(self):
              return self.bar()
  
          def bar(self):
              return glob
  
      _ = Foo()
  
imports: import functools
  import unittest
  from absl.testing import parameterized
  import numpy
  from tensorflow.core.function.capture import free_vars_detect
  from tensorflow.python.util import tf_decorator
label_desc: Use image node_id 26 for calling the FreeVarDetectionTest obj's underlying member method code with example usage: obj.test_decorated_method_w_self_no_exception() and returns: wrapper, func, self, glob