code: def __setattr__(self, name, value):
      super(JITFunction, self).__setattr__(name, value)
      # - when `.src` attribute is set, cache path needs
      #   to be reinitialized
      if name == "src":
          self.hash = None
  
imports: from __future__ import annotations, division
  import ast
  import hashlib
  import inspect
  import os
  import textwrap
  from collections import defaultdict, namedtuple
  from functools import cached_property
  from typing import Callable, Generic, Iterable, List, Optional, TypeVar, Union, cast, overload
  from ..runtime.driver import driver
label_desc: Use image node_id 13 for calling the JITFunction obj's underlying member method code with example usage: obj.__setattr__(name, value) without return types