code: def build_pattern():
      # bare = set()
      for module, replace in MAPPING.items():
          for old_attr, new_attr in replace.items():
              LOOKUP[(module, old_attr)] = new_attr
              # bare.add(module)
              # bare.add(old_attr)
              # yield """
              #      import_name< 'import' (module=%r
              #          | dotted_as_names< any* module=%r any* >) >
              #      """ % (module, module)
              yield """
                    import_from< 'from' module_name=%r 'import'
                        ( attr_name=%r | import_as_name< attr_name=%r 'as' any >) >
                    """ % (
                  module,
                  old_attr,
                  old_attr,
              )
              yield """
                    power< module_name=%r trailer< '.' attr_name=%r > any* >
                    """ % (
                  module,
                  old_attr,
              )
  
file_path: catboost/contrib/tools/python/src/Lib/lib2to3/fixes/fix_renames.py
imports: from ..None import fixer_base
  from ..fixer_util import Name, attr_chain
label_desc: Use image node_id 2 for calling a global function with example usage: build_pattern() without return types