summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2017-10-30 17:46:49 -0400
committerJordan Wiens <jordan@psifertex.com>2017-10-30 17:46:49 -0400
commitc396d2cfb3682cb4c152b9dba6f866f6783e4a80 (patch)
treea9f17f7a9b1f1d8533b12a7174008035191dc260 /python
parent0ca722550555a1a0fc82766686bade6d669af3dc (diff)
__hash__ for three types of basic blocks
Diffstat (limited to 'python')
-rw-r--r--python/basicblock.py3
-rw-r--r--python/lowlevelil.py3
-rw-r--r--python/mediumlevelil.py3
3 files changed, 9 insertions, 0 deletions
diff --git a/python/basicblock.py b/python/basicblock.py
index 26db925d..66d96882 100644
--- a/python/basicblock.py
+++ b/python/basicblock.py
@@ -68,6 +68,9 @@ class BasicBlock(object):
"""Internal method used to instantiante child instances"""
return BasicBlock(view, handle)
+ def __hash__(self):
+ return hash((self.start, self.end, self.arch.name))
+
@property
def function(self):
"""Basic block function (read-only)"""
diff --git a/python/lowlevelil.py b/python/lowlevelil.py
index 75a3f1ad..dfc5af5f 100644
--- a/python/lowlevelil.py
+++ b/python/lowlevelil.py
@@ -1733,6 +1733,9 @@ class LowLevelILBasicBlock(basicblock.BasicBlock):
"""Internal method by super to instantiante child instances"""
return LowLevelILBasicBlock(view, handle, self.il_function)
+ def __hash__(self):
+ return hash((self.start, self.end, self.il_function))
+
def LLIL_TEMP(n):
return n | 0x80000000
diff --git a/python/mediumlevelil.py b/python/mediumlevelil.py
index 07759a47..9167212a 100644
--- a/python/mediumlevelil.py
+++ b/python/mediumlevelil.py
@@ -893,3 +893,6 @@ class MediumLevelILBasicBlock(basicblock.BasicBlock):
def _create_instance(self, view, handle):
"""Internal method by super to instantiante child instances"""
return MediumLevelILBasicBlock(view, handle, self.il_function)
+
+ def __hash__(self):
+ return hash((self.start, self.end, self.il_function))