trailofbits/manticore

Refactor/unify repetitive pattern

Open

#1059 aperta il 16 ago 2018

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)Python (481 fork)batch import
ethereumhelp wantedresearch

Metriche repository

Star
 (3469 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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

Guida contributor