code: def test_dynamic_attribute_of_static_value(self):
      test_self = self
  
      class Resolver(type_inference.Resolver):
          def res_value(self, ns, value):
              test_self.assertEqual(value, tc.a)
              return {int}
  
          def res_name(self, ns, types_ns, name):
              test_self.assertEqual(name, qual_names.QN("tc"))
              return {TestClass}, tc
  
      class TestClass:
          def __init__(self):
              self.a = 1
  
      tc = TestClass()
  
      def test_fn():
          return tc.a
  
      node, _ = TestTranspiler(Resolver).transform(test_fn, None)
      fn_body = node.body
  
      self.assertTypes(fn_body[0].value.value, TestClass)
      self.assertTypes(fn_body[0].value, int)
      self.assertIs(
          anno.getanno(fn_body[0].value.value, anno.Static.VALUE), tc
      )
      self.assertEqual(
          anno.getanno(fn_body[0].value, anno.Static.VALUE), tc.a
      )
  
imports: from typing import Any, Callable, List
  from tensorflow.python.autograph.pyct import anno
  from tensorflow.python.autograph.pyct import cfg
  from tensorflow.python.autograph.pyct import qual_names
  from tensorflow.python.autograph.pyct import transpiler
  from tensorflow.python.autograph.pyct.static_analysis import activity
  from tensorflow.python.autograph.pyct.static_analysis import reaching_definitions
  from tensorflow.python.autograph.pyct.static_analysis import reaching_fndefs
  from tensorflow.python.autograph.pyct.static_analysis import type_inference
  from tensorflow.python.platform import test
label_desc: Use image node_id 10 for calling the TypeInferenceAnalyzerTest obj's underlying member method code with example usage: obj.test_dynamic_attribute_of_static_value() and returns: tc, unknown, unknown,  tc