def check_ext_target(self,t): if t.cst is None: return False if t.cst._is_ext: b = code.xfunc(t.cst) vtx = cfg.node(b) e = cfg.link(t.parent,vtx,data=t.econd) e = t.parent.c.add_edge(e) self.update_spool(e.v[1],t.parent) return True return False
def check_ext_target(self,t): """check if the target is the address of an external function. If True, the :class:`code.xfunc` node is linked to the parent and the spool is updated with this node. Returns: `True` if target is external, `False` otherwise. """ if t.cst is None: return False if t.cst._is_ext: b = code.xfunc(t.cst) vtx = cfg.node(b) e = cfg.link(t.parent,vtx,data=t.econd) e = t.parent.c.add_edge(e) self.update_spool(e.v[1],t.parent) self.check_func(e.v[1]) return True return False