Skip to content

Commit a1814a3

Browse files
committed
Get rid of thin (and duplicate) has_dereference wrapper
1 parent da63652 commit a1814a3

File tree

5 files changed

+8
-22
lines changed

5 files changed

+8
-22
lines changed

src/analyses/goto_check.cpp

+1-7
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,6 @@ class goto_checkt
117117

118118
void invalidate(const exprt &lhs);
119119

120-
inline static bool has_dereference(const exprt &src)
121-
{
122-
return has_subexpr(src, ID_dereference);
123-
}
124-
125120
bool enable_bounds_check;
126121
bool enable_pointer_check;
127122
bool enable_memory_leak_check;
@@ -200,8 +195,7 @@ void goto_checkt::invalidate(const exprt &lhs)
200195
assertionst::iterator next=it;
201196
next++;
202197

203-
if(has_symbol(*it, find_symbols_set) ||
204-
has_dereference(*it))
198+
if(has_symbol(*it, find_symbols_set) || has_subexpr(*it, ID_dereference))
205199
assertions.erase(it);
206200

207201
it=next;

src/analyses/goto_rw.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Date: April 2010
1414
#include <limits>
1515
#include <memory>
1616

17+
#include <util/expr_util.h>
1718
#include <util/std_code.h>
1819
#include <util/std_expr.h>
1920
#include <util/pointer_offset_size.h>
@@ -617,8 +618,7 @@ void rw_range_set_value_sett::get_objects_dereference(
617618

618619
// value_set_dereferencet::build_reference_to will turn *p into
619620
// DYNAMIC_OBJECT(p) ? *p : invalid_objectN
620-
if(object.is_not_nil() &&
621-
!value_set_dereferencet::has_dereference(object))
621+
if(object.is_not_nil() && !has_subexpr(object, ID_dereference))
622622
get_objects_rec(mode, object, range_start, new_size);
623623
}
624624

src/pointer-analysis/goto_program_dereference.cpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Author: Daniel Kroening, [email protected]
1111

1212
#include "goto_program_dereference.h"
1313

14+
#include <util/expr_util.h>
1415
#include <util/simplify_expr.h>
1516
#include <util/base_type.h>
1617
#include <util/std_code.h>
@@ -97,7 +98,7 @@ void goto_program_dereferencet::dereference_rec(
9798
guardt &guard,
9899
const value_set_dereferencet::modet mode)
99100
{
100-
if(!dereference.has_dereference(expr))
101+
if(!has_subexpr(expr, ID_dereference))
101102
return;
102103

103104
if(expr.id()==ID_and || expr.id()==ID_or)
@@ -114,7 +115,7 @@ void goto_program_dereferencet::dereference_rec(
114115
throw expr.id_string()+" takes Boolean operands only, but got "+
115116
op.pretty();
116117

117-
if(dereference.has_dereference(op))
118+
if(has_subexpr(op, ID_dereference))
118119
dereference_rec(op, guard, value_set_dereferencet::modet::READ);
119120

120121
if(expr.id()==ID_or)
@@ -146,8 +147,8 @@ void goto_program_dereferencet::dereference_rec(
146147

147148
dereference_rec(expr.op0(), guard, value_set_dereferencet::modet::READ);
148149

149-
bool o1=dereference.has_dereference(expr.op1());
150-
bool o2=dereference.has_dereference(expr.op2());
150+
bool o1 = has_subexpr(expr.op1(), ID_dereference);
151+
bool o2 = has_subexpr(expr.op2(), ID_dereference);
151152

152153
if(o1)
153154
{

src/pointer-analysis/value_set_dereference.cpp

-5
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,6 @@ Author: Daniel Kroening, [email protected]
4747
// global data, horrible
4848
unsigned int value_set_dereferencet::invalid_counter=0;
4949

50-
bool value_set_dereferencet::has_dereference(const exprt &expr)
51-
{
52-
return has_subexpr(expr, ID_dereference);
53-
}
54-
5550
const exprt &value_set_dereferencet::get_symbol(const exprt &expr)
5651
{
5752
if(expr.id()==ID_member || expr.id()==ID_index)

src/pointer-analysis/value_set_dereference.h

-4
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,6 @@ class value_set_dereferencet
7272
const guardt &guard,
7373
const modet mode);
7474

75-
/*! \brief Returns 'true' iff the given expression contains unary '*'
76-
*/
77-
static bool has_dereference(const exprt &expr);
78-
7975
typedef std::unordered_set<exprt, irep_hash> expr_sett;
8076

8177
private:

0 commit comments

Comments
 (0)