diff options
Diffstat (limited to 'miasm2/core/interval.py')
| -rw-r--r-- | miasm2/core/interval.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/miasm2/core/interval.py b/miasm2/core/interval.py index d76cbd15..66445674 100644 --- a/miasm2/core/interval.py +++ b/miasm2/core/interval.py @@ -100,20 +100,20 @@ class interval(object): o = "[]" return o - def __contains__(self, i): - if isinstance(i, interval): - for x in self.intervals: - is_out = True - for y in i.intervals: - if cmp_interval(x, y) in [INT_EQ, INT_B_IN_A]: - is_out = False + def __contains__(self, other): + if isinstance(other, interval): + for intervalB in other.intervals: + is_in = False + for intervalA in self.intervals: + if cmp_interval(intervalA, intervalB) in [INT_EQ, INT_B_IN_A]: + is_in = True break - if is_out: + if not is_in: return False return True else: - for x in self.intervals: - if x[0] <= i <= x[1]: + for intervalA in self.intervals: + if intervalA[0] <= other <= intervalA[1]: return True return False @@ -215,6 +215,12 @@ class interval(object): return None, None return self.intervals[0][0], self.intervals[-1][1] + + @property + def empty(self): + """Return True iff the interval is empty""" + return not self.intervals + def show(self, img_x=1350, img_y=20, dry_run=False): """ show image representing the interval |