class_docstr: Mostly objects of defined type.  Catch-all for something where we only know the type.
class_docstr_tok: ["Mostly","objects","of","defined","type",".","Catch-all","for","something","where","we","only","know","the","type","."]
code: def call_hasattr(self, tx, name: str) -> "VariableTracker":
      if tx.output.side_effects.is_attribute_mutation(self):
          try:
              result = tx.output.side_effects.load_attr(
                  self, name, deleted_ok=True
              )
              return variables.ConstantVariable.create(
                  not isinstance(result, variables.DeletedVariable)
              )
          except KeyError:
              pass
      if self.source:
          install_guard(
              AttrSource(self.source, name).make_guard(
                  GuardBuilder.HASATTR
              )
          )
      if self._check_for_getattribute() or self._check_for_getattr():
          unimplemented("hasattr with custom __getattr__")
  
      try:
          self._getattr_static(name)
          return variables.ConstantVariable.create(True)
      except AttributeError:
          return variables.ConstantVariable.create(False)
  
imports: import collections
  import contextlib
  import functools
  import importlib
  import inspect
  import itertools
  import random
  import sys
  import threading
  import types
  from typing import Dict, List
  import torch._dynamo.config
  import torch.nn
  from torch._guards import TracingContext
  from ..None import variables
  from ..exc import unimplemented
  from ..guards import GuardBuilder, install_guard
  from ..source import AttrSource, GetItemSource, ODictGetItemSource, RandomValueSource
  from ..utils import all_hook_names, build_checkpoint_variable, check_constant_args, get_custom_getattr, has_torch_function, is_namedtuple_cls, is_utils_checkpoint, istype, namedtuple_fields, object_has_getattribute, proxy_args_kwargs, tensortype_to_dtype
  from .base import MutableLocal, VariableTracker
  from .ctx_manager import GenericContextWrappingVariable, NullContextVariable
  from .dicts import DefaultDictVariable
label_desc: Use image node_id 17 for calling the UserDefinedObjectVariable obj's underlying member method code with example usage: obj.call_hasattr(tx, name) and returns: variables, variables, variables