code: def test_no_experimental_api():
      # TODO: remove all elements of the list and remove the allowlist
      # This allowlist should not grow. Do not add elements to this list.
      allowlist = [
          "tensorflow_addons/optimizers/constants.py",
          "tensorflow_addons/optimizers/weight_decay_optimizers.py",
          "tensorflow_addons/layers/max_unpooling_2d.py",
          "tensorflow_addons/image/dense_image_warp.py",
      ]
      for file_path, line_idx, line in get_lines_of_source_code(
          allowlist
      ):
          if file_path.endswith("_test.py") or file_path.endswith(
              "conftest.py"
          ):
              continue
          if file_path.endswith(
              "tensorflow_addons/utils/test_utils.py"
          ):
              continue
  
          if "experimental" in line:
              raise NameError(
                  "The usage of a TensorFlow experimental API was found in file {} "
                  "at line {}:\n\n"
                  "   {}\n"
                  "Experimental APIs are ok in tests but not in user-facing code. "
                  "This is because Experimental APIs might have bugs and are not "
                  "widely used yet.\n"
                  "Addons should show how to write TensorFlow "
                  "code in a stable and forward-compatible way."
                  "".format(file_path, line_idx, line)
              )
  
file_path: addons/tools/testing/source_code_test.py
imports: import glob
  import os
  from typedapi import ensure_api_is_typed
  import importlib
  import tensorflow_addons
  import tensorflow
label_desc: Use image node_id 7 for calling a global function with example usage: test_no_experimental_api() without return types