class_docstr: A pass that does not change its content but gathers informations about it.
class_docstr_tok: ["A","pass","that","does","not","change","its","content","but","gathers","informations","about","it","."]
code: def run(self, node):
      key = node, type(self)
      if key in self.passmanager._cache:
          self.result = self.passmanager._cache[key]
      else:
          super(Analysis, self).run(node)
          self.passmanager._cache[key] = self.result
      return self.result
  
imports: import gast
  import os
  import re
  from time import time
label_desc: Use image node_id 2 for calling the Analysis obj's underlying member method code with example usage: obj.run(node) and returns: self