Go to the documentation of this file.
26 const auto location = i_it->source_location();
27 const auto assume_condition =
29 const auto comment_before =
30 "assert(false) before assume(" + assume_condition +
")";
31 const auto comment_after =
32 "assert(false) after assume(" + assume_condition +
")";
34 const auto assert_before = make_assertion(
false_exprt{}, location);
38 const auto assert_after = make_assertion(
false_exprt{}, location);
43 else if(i_it->is_assert())
45 const auto location = i_it->source_location();
47 if(location.get_property_class() !=
"coverage")
49 i_it->turn_into_skip();
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
void initialize_source_location(goto_programt::targett t, const std::string &comment, const irep_idt &function_id) const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
targett insert_before(const_targett target)
Insertion before the instruction pointed-to by the given instruction iterator target.
std::string expr2c(const exprt &expr, const namespacet &ns, const expr2c_configurationt &configuration)
The Boolean constant false.
std::function< goto_programt::instructiont(const exprt &, const source_locationt &)> assertion_factoryt
The type of function used to make goto_program assertions.
void instrument(const irep_idt &, goto_programt &, goto_programt::targett &, const cover_blocks_baset &, const assertion_factoryt &) const override
Instrument program to check coverage of assume statements.
A generic container class for the GOTO intermediate representation of one function.
targett insert_after(const_targett target)
Insertion after the instruction pointed-to by the given instruction iterator target.
instructionst::iterator targett