class_docstr: Front end to the pythran pass system.
class_docstr_tok: ["Front","end","to","the","pythran","pass","system","."]
docstr: High-level function to call an `analysis' on a `node'
docstr_tok: ["High-level","function","to","call","an","`","analysis","'","on","a","`","node","'"]
code: def gather(self, analysis, node, run_times=None):
      "High-level function to call an `analysis' on a `node'"
      t0 = time()
      assert issubclass(analysis, Analysis)
      a = analysis()
      a.attach(self)
      ret = a.run(node)
      if run_times is not None:
          run_times[analysis] = run_times.get(analysis, 0) + time() - t0
  
      return ret
  
imports: import gast
  import os
  import re
  from time import time
label_desc: Use image node_id 2 for calling the PassManager obj's underlying member method code with example usage: obj.gather(analysis, node, run_times) and returns: ret