trailofbits/manticore

Refactor/unify repetitive pattern

Aberta

#1.059 aberto em 16 de ago. de 2018

 (0 comentário) (0 reação) (0 responsável)Python (481 forks)batch import
ethereumhelp wantedresearch

Métricas do repositório

Stars
 (3.469 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

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

Guia do colaborador