Skip to content

Commit 1679d2b

Browse files
authored
Merge pull request #519 from diffblue/trans-trace-assignmentt
`trans_tracet::assignmentt` now has full constructor
2 parents 44a1b82 + 3cdaa9e commit 1679d2b

File tree

3 files changed

+13
-19
lines changed

3 files changed

+13
-19
lines changed

src/trans-netlist/trans_trace.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,14 @@ class trans_tracet
2828
exprt lhs;
2929
exprt rhs;
3030
source_locationt location;
31-
32-
assignmentt():location(source_locationt::nil())
31+
32+
assignmentt(
33+
exprt __lhs,
34+
exprt __rhs,
35+
source_locationt __location = source_locationt::nil())
36+
: lhs(std::move(__lhs)),
37+
rhs(std::move(__rhs)),
38+
location(std::move(__location))
3339
{
3440
}
3541
};

src/trans-netlist/trans_trace_netlist.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -144,15 +144,9 @@ trans_tracet compute_trans_trace(
144144

145145
value=ch+value;
146146
}
147-
148-
state.assignments.push_back(trans_tracet::statet::assignmentt());
149147

150-
trans_tracet::statet::assignmentt &assignment=
151-
state.assignments.back();
152-
153-
assignment.lhs=symbol.symbol_expr();
154-
assignment.rhs=bitstring_to_expr(value, var.type);
155-
assignment.location.make_nil();
148+
state.assignments.emplace_back(
149+
symbol.symbol_expr(), bitstring_to_expr(value, var.type));
156150
}
157151

158152
// check the property

src/trans-word-level/trans_trace_word_level.cpp

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,7 @@ trans_tracet compute_trans_trace(
6262
{
6363
if(symbol.value.is_constant())
6464
{
65-
trans_tracet::statet::assignmentt assignment;
66-
assignment.rhs = symbol.value;
67-
assignment.lhs = symbol.symbol_expr();
68-
state.assignments.push_back(assignment);
65+
state.assignments.emplace_back(symbol.symbol_expr(), symbol.value);
6966
}
7067
}
7168
else
@@ -79,11 +76,8 @@ trans_tracet compute_trans_trace(
7976
if(value_expr == indexed_symbol_expr)
8077
value_expr = nil_exprt();
8178

82-
trans_tracet::statet::assignmentt assignment;
83-
assignment.rhs.swap(value_expr);
84-
assignment.lhs = symbol.symbol_expr();
85-
86-
state.assignments.push_back(assignment);
79+
state.assignments.emplace_back(
80+
symbol.symbol_expr(), std::move(value_expr));
8781
}
8882
}
8983
}

0 commit comments

Comments
 (0)