class_docstr: The main matcher class. After instantiating the patterns should
  be added using the add_fixer method
docstr: Reduces a fixer's pattern tree to a linear path and adds it
  to the matcher(a common Aho-Corasick automaton). The fixer is
  appended on the matching states and called when they are
  reached
docstr_tok: ["Reduces","a","fixer","'s","pattern","tree","to","a","linear","path","and","adds","it","to","the","matcher","(","a","common","Aho-Corasick","automaton",")",".","The","fixer","is","appended","on","the","matching","states","and","called","when","they","are","reached"]
code: def add_fixer(self, fixer):
      """Reduces a fixer's pattern tree to a linear path and adds it
      to the matcher(a common Aho-Corasick automaton). The fixer is
      appended on the matching states and called when they are
      reached"""
      self.fixers.append(fixer)
      tree = reduce_tree(fixer.pattern_tree)
      linear = tree.get_linear_subpattern()
      match_nodes = self.add(linear, start=self.root)
      for match_node in match_nodes:
          match_node.fixers.append(fixer)
  
file_path: catboost/contrib/tools/python/src/Lib/lib2to3/btm_matcher.py
imports: import logging
  import itertools
  from collections import defaultdict
  from .None import pytree
  from .btm_utils import reduce_tree
label_desc: Use image node_id 2 for calling the BottomMatcher obj's underlying member method code with example usage: obj.add_fixer(fixer) without return types