def prepare(self, node, ctx): super(GlobalEffects, self).prepare(node, ctx) def register_node(n): fe = GlobalEffects.FunctionEffect(n) self.node_to_functioneffect[n] = fe self.result.add_node(fe) map(register_node, self.global_declarations.itervalues()) map(register_node, builtin_constructors.itervalues()) for m in modules: map(register_node, modules[m].itervalues()) self.all_functions = [fe.func for fe in self.result]
def prepare(self, node, ctx): super(ArgumentEffects, self).prepare(node, ctx) for n in self.global_declarations.itervalues(): fe = ArgumentEffects.FunctionEffects(n) self.node_to_functioneffect[n] = fe self.result.add_node(fe) for n in builtin_constructors.itervalues(): fe = ArgumentEffects.ConstructorEffects(n) self.node_to_functioneffect[n] = fe self.result.add_node(fe) for m in modules: for name, intrinsic in modules[m].iteritems(): fe = ArgumentEffects.FunctionEffects(intrinsic) self.node_to_functioneffect[intrinsic] = fe self.result.add_node(fe) self.all_functions = [fe.func for fe in self.result]