Skip to content

Commit b4ceea1

Browse files
author
Owen Jones
committed
Add two invariants
1 parent 2bdd4b9 commit b4ceea1

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/pointer-analysis/external_value_set_expr.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,9 @@ class external_value_set_exprt:public exprt
187187
return "external_objects"+type_to_basename(declared_on_type);
188188
case external_value_set_typet::PRECISE:
189189
{
190+
DATA_INVARIANT(
191+
!access_path_entries().empty(),
192+
"Only root object EVSs can have an empty access path");
190193
std::ostringstream ret;
191194
ret << id2string(label().get_value());
192195
for(
@@ -216,6 +219,7 @@ class external_value_set_exprt:public exprt
216219
void extend_access_path(
217220
const access_path_entry_exprt &newentry, external_value_set_typet evs_type)
218221
{
222+
PRECONDITION(evs_type!=external_value_set_typet::ROOT_OBJECT);
219223
set_external_value_set_type(evs_type);
220224
switch(evs_type)
221225
{

0 commit comments

Comments
 (0)