def handle_error(err): if len(l.call_stack) > 1: print "Call stack:" for i in l.call_stack: print "\t%s" % builtin.str_(i) print err return ["bubble"]
def handle_warning(err): e = str(err) if warn_cache.get(e, 0) < 5: print "In %s: %s" % ( builtin.str_(l.call_stack[-1]), str(err)) elif warn_cache.get(e, 0) == 5: print "Further %s warnings suppressed" % e warn_cache[e] = warn_cache.get(e, 0) + 1 return ["ignore"]
def __str__(self): s1 = str_(self.type) if self.args: s1 += ": " + " ".join(map(str_, self.args)) return s1