class_docstr: An analysis that operates on a function.
class_docstr_tok: ["An","analysis","that","operates","on","a","function","."]
code: def run(self, node):
      if isinstance(node, ast.Module):
          self.ctx.module = node
          last = None
          for stmt in node.body:
              if isinstance(stmt, ast.FunctionDef):
                  last = self.gather(type(self), stmt)
          # last is None if there's no function to process
          return self.result if last is None else last
      elif not isinstance(node, ast.FunctionDef):
          if self.ctx.function is None:
              raise ValueError(
                  "{} called in an uninitialized context".format(
                      type(self).__name__
                  )
              )
          node = self.ctx.function
      return super(FunctionAnalysis, self).run(node)
  
imports: import gast
  import os
  import re
  from time import time
label_desc: Use image node_id 1 for calling the FunctionAnalysis obj's underlying member method code with example usage: obj.run(node) and returns: super, unknown