From 3cdaa9eea4a2d2c701f85dbd60436dcbaa56f5c1 Mon Sep 17 00:00:00 2001 From: Daniel Kroening Date: Wed, 22 May 2024 18:48:00 +0100 Subject: [PATCH] trans_tracet::assignmentt now has full constructor Follow up for #518. --- src/trans-netlist/trans_trace.h | 10 ++++++++-- src/trans-netlist/trans_trace_netlist.cpp | 10 ++-------- src/trans-word-level/trans_trace_word_level.cpp | 12 +++--------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/src/trans-netlist/trans_trace.h b/src/trans-netlist/trans_trace.h index 148da65b..4eaeb23f 100644 --- a/src/trans-netlist/trans_trace.h +++ b/src/trans-netlist/trans_trace.h @@ -28,8 +28,14 @@ class trans_tracet exprt lhs; exprt rhs; source_locationt location; - - assignmentt():location(source_locationt::nil()) + + assignmentt( + exprt __lhs, + exprt __rhs, + source_locationt __location = source_locationt::nil()) + : lhs(std::move(__lhs)), + rhs(std::move(__rhs)), + location(std::move(__location)) { } }; diff --git a/src/trans-netlist/trans_trace_netlist.cpp b/src/trans-netlist/trans_trace_netlist.cpp index a4112bb7..9c279a14 100644 --- a/src/trans-netlist/trans_trace_netlist.cpp +++ b/src/trans-netlist/trans_trace_netlist.cpp @@ -144,15 +144,9 @@ trans_tracet compute_trans_trace( value=ch+value; } - - state.assignments.push_back(trans_tracet::statet::assignmentt()); - trans_tracet::statet::assignmentt &assignment= - state.assignments.back(); - - assignment.lhs=symbol.symbol_expr(); - assignment.rhs=bitstring_to_expr(value, var.type); - assignment.location.make_nil(); + state.assignments.emplace_back( + symbol.symbol_expr(), bitstring_to_expr(value, var.type)); } // check the property diff --git a/src/trans-word-level/trans_trace_word_level.cpp b/src/trans-word-level/trans_trace_word_level.cpp index 62a8614a..57fb2a0f 100644 --- a/src/trans-word-level/trans_trace_word_level.cpp +++ b/src/trans-word-level/trans_trace_word_level.cpp @@ -62,10 +62,7 @@ trans_tracet compute_trans_trace( { if(symbol.value.is_constant()) { - trans_tracet::statet::assignmentt assignment; - assignment.rhs = symbol.value; - assignment.lhs = symbol.symbol_expr(); - state.assignments.push_back(assignment); + state.assignments.emplace_back(symbol.symbol_expr(), symbol.value); } } else @@ -79,11 +76,8 @@ trans_tracet compute_trans_trace( if(value_expr == indexed_symbol_expr) value_expr = nil_exprt(); - trans_tracet::statet::assignmentt assignment; - assignment.rhs.swap(value_expr); - assignment.lhs = symbol.symbol_expr(); - - state.assignments.push_back(assignment); + state.assignments.emplace_back( + symbol.symbol_expr(), std::move(value_expr)); } } }