|
13 | 13 | #include "range.h"
|
14 | 14 | #include "std_expr.h"
|
15 | 15 |
|
16 |
| -enum class kindt { F_TYPE, F_TYPE_NON_PTR, F_EXPR, F_BOTH }; |
| 16 | +enum class kindt |
| 17 | +{ |
| 18 | + F_TYPE, |
| 19 | + F_TYPE_NON_PTR, |
| 20 | + F_EXPR_CURRENT, |
| 21 | + F_EXPR_NEXT, |
| 22 | + F_EXPR_BOTH, |
| 23 | + F_ALL |
| 24 | +}; |
17 | 25 |
|
18 | 26 | void find_symbols_or_nexts(const exprt &src, find_symbols_sett &dest)
|
19 | 27 | {
|
@@ -97,11 +105,19 @@ void find_symbols(kindt kind, const exprt &src, find_symbols_sett &dest)
|
97 | 105 |
|
98 | 106 | find_symbols(kind, src.type(), dest);
|
99 | 107 |
|
100 |
| - if(kind==kindt::F_BOTH || kind==kindt::F_EXPR) |
| 108 | + if( |
| 109 | + kind == kindt::F_ALL || kind == kindt::F_EXPR_CURRENT || |
| 110 | + kind == kindt::F_EXPR_BOTH) |
101 | 111 | {
|
102 | 112 | if(src.id() == ID_symbol)
|
103 | 113 | dest.insert(to_symbol_expr(src).get_identifier());
|
104 |
| - else if(src.id() == ID_next_symbol) |
| 114 | + } |
| 115 | + |
| 116 | + if( |
| 117 | + kind == kindt::F_ALL || kind == kindt::F_EXPR_NEXT || |
| 118 | + kind == kindt::F_EXPR_BOTH) |
| 119 | + { |
| 120 | + if(src.id() == ID_next_symbol) |
105 | 121 | dest.insert(src.get(ID_identifier));
|
106 | 122 | }
|
107 | 123 |
|
@@ -148,10 +164,6 @@ void find_symbols(kindt kind, const typet &src, find_symbols_sett &dest)
|
148 | 164 | for(const auto &p : code_type.parameters())
|
149 | 165 | {
|
150 | 166 | find_symbols(kind, p, dest);
|
151 |
| - |
152 |
| - // irep_idt identifier=it->get_identifier(); |
153 |
| - // if(!identifier.empty() && (kind==F_TYPE || kind==F_BOTH)) |
154 |
| - // dest.insert(identifier); |
155 | 167 | }
|
156 | 168 | }
|
157 | 169 | else if(src.id()==ID_array)
|
@@ -199,10 +211,10 @@ void find_non_pointer_type_symbols(
|
199 | 211 |
|
200 | 212 | void find_type_and_expr_symbols(const exprt &src, find_symbols_sett &dest)
|
201 | 213 | {
|
202 |
| - find_symbols(kindt::F_BOTH, src, dest); |
| 214 | + find_symbols(kindt::F_ALL, src, dest); |
203 | 215 | }
|
204 | 216 |
|
205 | 217 | void find_type_and_expr_symbols(const typet &src, find_symbols_sett &dest)
|
206 | 218 | {
|
207 |
| - find_symbols(kindt::F_BOTH, src, dest); |
| 219 | + find_symbols(kindt::F_ALL, src, dest); |
208 | 220 | }
|
0 commit comments