class_docstr: Optional base class for fixers.
  
  The subclass name must be FixFooBar where FooBar is the result of
  removing underscores and capitalizing the words of the fix name.
  For example, the class name for a fixer named 'has_key' should be
  FixHasKey.
class_docstr_tok: ["Optional","base","class","for","fixers",".","The","subclass","name","must","be","FixFooBar","where","FooBar","is","the","result","of","removing","underscores","and","capitalizing","the","words","of","the","fix","name",".","For","example",",","the","class","name","for","a","fixer","named","'has_key","'","should","be","FixHasKey","."]
docstr: Initializer.  Subclass may override.
  
  Args:
      options: a dict containing the options passed to RefactoringTool
      that could be used to customize the fixer through the command line.
      log: a list to append warnings and other messages to.
docstr_tok: ["Initializer",".","Subclass","may","override",".","Args",":","options",":","a","dict","containing","the","options","passed","to","RefactoringTool","that","could","be","used","to","customize","the","fixer","through","the","command","line",".","log",":","a","list","to","append","warnings","and","other","messages","to","."]
code: def __init__(self, options, log):
      """Initializer.  Subclass may override.
  
      Args:
          options: a dict containing the options passed to RefactoringTool
          that could be used to customize the fixer through the command line.
          log: a list to append warnings and other messages to.
      """
      self.options = options
      self.log = log
      self.compile_pattern()
  
imports: import itertools
  from .patcomp import PatternCompiler
  from .None import pygram
  from .fixer_util import does_tree_import
label_desc: Use image node_id 1 to create a new BaseFix object from inherited base classes: object with example: obj = BaseFix(options, log)