trailofbits/manticore

Refactor/unify repetitive pattern

Open

#1,059 创建于 2018年8月16日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Python (3,469 star) (481 fork)batch import
ethereumhelp wantedresearch

描述

This pattern comes up pretty regularly (in Solver.get_all_values, Solver.get_value, ConstraintSet.migrate), should we make a Expression.clone() ?

                if isinstance(foreign_var, Bool):
                    new_var = self.new_bool(name=migrated_name)
                elif isinstance(foreign_var, BitVec):
                    new_var = self.new_bitvec(foreign_var.size, name=migrated_name)
                elif isinstance(foreign_var, Array):
                    # Note that we are discarding the ArrayProxy encapsulation
                    new_var = self.new_array(index_max=foreign_var.index_max, index_bits=foreign_var.index_bits, value_bits=foreign_var.value_bits, name=migrated_name).array

贡献者指南