code: def is_active(self, node):
      
      # Special case: If the right hand side is a pop statement, we want to
      # process it
      if (isinstance(node.value, gast.Call) and
          anno.getanno(node.value, 'func', False) == utils.pop):
        return True
      for succ in gast.walk(node.value):
        if (isinstance(succ, gast.Name) and isinstance(succ.ctx, gast.Load) and
            succ.id in self.active_variables):
          return True
      return False
docs: Checks whether a statement is active.
  
      An assignment is active when its right hand side contains active
      variables.
  
      Args:
        node: an instance of gast.Assign
  
      Returns:
        Whether the statement is active.