diff options
Diffstat (limited to 'miasm2/ir/translators')
| -rw-r--r-- | miasm2/ir/translators/C.py | 10 | ||||
| -rw-r--r-- | miasm2/ir/translators/smt2.py | 10 | ||||
| -rw-r--r-- | miasm2/ir/translators/z3_ir.py | 13 |
3 files changed, 16 insertions, 17 deletions
diff --git a/miasm2/ir/translators/C.py b/miasm2/ir/translators/C.py index b7821e85..28222803 100644 --- a/miasm2/ir/translators/C.py +++ b/miasm2/ir/translators/C.py @@ -18,13 +18,13 @@ class TranslatorC(Translator): '>>>': 'rot_right', } - def __init__(self, symbol_pool=None, **kwargs): + def __init__(self, loc_db=None, **kwargs): """Instance a C translator - @symbol_pool: AsmSymbolPool instance + @loc_db: LocationDB instance """ super(TranslatorC, self).__init__(**kwargs) # symbol pool - self.symbol_pool = symbol_pool + self.loc_db = loc_db def _size2mask(self, size): """Return a C string corresponding to the size2mask operation, with support for @@ -52,10 +52,10 @@ class TranslatorC(Translator): def from_ExprLoc(self, expr): loc_key = expr.loc_key - if self.symbol_pool is None: + if self.loc_db is None: return str(loc_key) - offset = self.symbol_pool.loc_key_to_offset(loc_key) + offset = self.loc_db.loc_key_to_offset(loc_key) if offset is None: return str(loc_key) diff --git a/miasm2/ir/translators/smt2.py b/miasm2/ir/translators/smt2.py index f5d633e0..f5e69163 100644 --- a/miasm2/ir/translators/smt2.py +++ b/miasm2/ir/translators/smt2.py @@ -119,7 +119,7 @@ class TranslatorSMT2(Translator): # Implemented language __LANG__ = "smt2" - def __init__(self, endianness="<", symbol_pool=None, **kwargs): + def __init__(self, endianness="<", loc_db=None, **kwargs): """Instance a SMT2 translator @endianness: (optional) memory endianness """ @@ -129,7 +129,7 @@ class TranslatorSMT2(Translator): # map of translated bit vectors self._bitvectors = dict() # symbol pool - self.symbol_pool = symbol_pool + self.loc_db = loc_db def from_ExprInt(self, expr): return bit_vec_val(expr.arg.arg, expr.size) @@ -141,13 +141,13 @@ class TranslatorSMT2(Translator): def from_ExprLoc(self, expr): loc_key = expr.loc_key - if self.symbol_pool is None: + if self.loc_db is None: if str(loc_key) not in self._bitvectors: self._bitvectors[str(loc_key)] = expr.size return str(loc_key) - offset = self.symbol_pool.loc_key_to_offset(loc_key) - name = self.symbol_pool.loc_key_to_name(loc_key) + offset = self.loc_db.loc_key_to_offset(loc_key) + name = self.loc_db.loc_key_to_name(loc_key) if offset is None: return bit_vec_val(str(offset), expr.size) diff --git a/miasm2/ir/translators/z3_ir.py b/miasm2/ir/translators/z3_ir.py index d01b73fa..bfb29d06 100644 --- a/miasm2/ir/translators/z3_ir.py +++ b/miasm2/ir/translators/z3_ir.py @@ -115,7 +115,7 @@ class TranslatorZ3(Translator): # Operations translation trivial_ops = ["+", "-", "/", "%", "&", "^", "|", "*", "<<"] - def __init__(self, endianness="<", symbol_pool=None, **kwargs): + def __init__(self, endianness="<", loc_db=None, **kwargs): """Instance a Z3 translator @endianness: (optional) memory endianness """ @@ -125,8 +125,7 @@ class TranslatorZ3(Translator): super(TranslatorZ3, self).__init__(**kwargs) self._mem = Z3Mem(endianness) - # symbol pool - self.symbol_pool = symbol_pool + self.loc_db = loc_db def from_ExprInt(self, expr): return z3.BitVecVal(expr.arg.arg, expr.size) @@ -135,12 +134,12 @@ class TranslatorZ3(Translator): return z3.BitVec(str(expr), expr.size) def from_ExprLoc(self, expr): - if self.symbol_pool is None: - # No symbol_pool, fallback to default name + if self.loc_db is None: + # No loc_db, fallback to default name return z3.BitVec(str(expr), expr.size) loc_key = expr.loc_key - offset = self.symbol_pool.loc_key_to_offset(loc_key) - name = self.symbol_pool.loc_key_to_name(loc_key) + offset = self.loc_db.loc_key_to_offset(loc_key) + name = self.loc_db.loc_key_to_name(loc_key) if offset is not None: return z3.BitVecVal(offset, expr.size) if name is not None: |