def toBB(self, BBlist, cBB): firstBB = Expression('if (%s)' % self._cond).toBB(BBlist, cBB) lastBB = BB() ignore = False if self._true: newBB = self._true.toBB(BBlist, firstBB) if newBB.is_ignored(): ignore = True else: newBB.add_link(lastBB) if self._false: newBB = self._false.toBB(BBlist, firstBB) if newBB.is_ignored() and ignore: lastBB.set_ignore() else: newBB.add_link(lastBB) else: if ignore: lastBB.set_ignore() firstBB.add_link(lastBB) BBlist.append(lastBB) return lastBB