@@ -96,33 +96,38 @@ std::pair<exprt, string_constraintst> add_axioms_for_concat(
96
96
symbol_generatort &fresh_symbol,
97
97
const array_string_exprt &res,
98
98
const array_string_exprt &s1,
99
- const array_string_exprt &s2);
99
+ const array_string_exprt &s2,
100
+ array_poolt &array_pool);
100
101
std::pair<exprt, string_constraintst> add_axioms_for_concat_substr (
101
102
symbol_generatort &fresh_symbol,
102
103
const array_string_exprt &res,
103
104
const array_string_exprt &s1,
104
105
const array_string_exprt &s2,
105
106
const exprt &start_index,
106
- const exprt &end_index);
107
+ const exprt &end_index,
108
+ array_poolt &array_pool);
107
109
std::pair<exprt, string_constraintst> add_axioms_for_insert (
108
110
symbol_generatort &fresh_symbol,
109
111
const array_string_exprt &res,
110
112
const array_string_exprt &s1,
111
113
const array_string_exprt &s2,
112
- const exprt &offset);
114
+ const exprt &offset,
115
+ array_poolt &array_pool);
113
116
std::pair<exprt, string_constraintst> add_axioms_for_string_of_int_with_radix (
114
117
const array_string_exprt &res,
115
118
const exprt &input_int,
116
119
const exprt &radix,
117
120
size_t max_size,
118
- const namespacet &ns);
121
+ const namespacet &ns,
122
+ array_poolt &array_pool);
119
123
120
124
string_constraintst add_constraint_on_characters (
121
125
symbol_generatort &fresh_symbol,
122
126
const array_string_exprt &s,
123
127
const exprt &start,
124
128
const exprt &end,
125
- const std::string &char_set);
129
+ const std::string &char_set,
130
+ array_poolt &array_pool);
126
131
std::pair<exprt, string_constraintst> add_axioms_for_constrain_characters (
127
132
symbol_generatort &fresh_symbol,
128
133
const function_application_exprt &f,
@@ -196,6 +201,7 @@ std::pair<exprt, string_constraintst> add_axioms_for_concat_code_point(
196
201
std::pair<exprt, string_constraintst> add_axioms_for_constant (
197
202
const array_string_exprt &res,
198
203
irep_idt sval,
204
+ array_poolt &array_pool,
199
205
const exprt &guard = true_exprt());
200
206
201
207
std::pair<exprt, string_constraintst> add_axioms_for_delete (
@@ -260,7 +266,8 @@ std::pair<exprt, string_constraintst> add_axioms_for_cprover_string(
260
266
symbol_generatort &fresh_symbol,
261
267
const array_string_exprt &res,
262
268
const exprt &arg,
263
- const exprt &guard);
269
+ const exprt &guard,
270
+ array_poolt &array_pool);
264
271
std::pair<exprt, string_constraintst> add_axioms_from_literal (
265
272
symbol_generatort &fresh_symbol,
266
273
const function_application_exprt &f,
@@ -270,9 +277,12 @@ std::pair<exprt, string_constraintst> add_axioms_for_string_of_int(
270
277
const array_string_exprt &res,
271
278
const exprt &input_int,
272
279
size_t max_size,
273
- const namespacet &ns);
274
- std::pair<exprt, string_constraintst>
275
- add_axioms_from_int_hex (const array_string_exprt &res, const exprt &i);
280
+ const namespacet &ns,
281
+ array_poolt &array_pool);
282
+ std::pair<exprt, string_constraintst> add_axioms_from_int_hex (
283
+ const array_string_exprt &res,
284
+ const exprt &i,
285
+ array_poolt &array_pool);
276
286
std::pair<exprt, string_constraintst> add_axioms_from_int_hex (
277
287
const function_application_exprt &f,
278
288
array_poolt &array_pool);
@@ -283,23 +293,29 @@ std::pair<exprt, string_constraintst> add_axioms_from_long(
283
293
std::pair<exprt, string_constraintst> add_axioms_from_bool (
284
294
const function_application_exprt &f,
285
295
array_poolt &array_pool);
286
- std::pair<exprt, string_constraintst>
287
- add_axioms_from_bool (const array_string_exprt &res, const exprt &i);
296
+ std::pair<exprt, string_constraintst> add_axioms_from_bool (
297
+ const array_string_exprt &res,
298
+ const exprt &b,
299
+ array_poolt &array_pool);
288
300
std::pair<exprt, string_constraintst> add_axioms_from_char (
289
301
const function_application_exprt &f,
290
302
array_poolt &array_pool);
291
- std::pair<exprt, string_constraintst>
292
- add_axioms_from_char (const array_string_exprt &res, const exprt &i);
303
+ std::pair<exprt, string_constraintst> add_axioms_from_char (
304
+ const array_string_exprt &res,
305
+ const exprt &c,
306
+ array_poolt &array_pool);
293
307
std::pair<exprt, string_constraintst> add_axioms_for_index_of (
294
308
symbol_generatort &fresh_symbol,
295
309
const array_string_exprt &str,
296
310
const exprt &c,
297
- const exprt &from_index);
311
+ const exprt &from_index,
312
+ array_poolt &array_pool);
298
313
std::pair<exprt, string_constraintst> add_axioms_for_index_of_string (
299
314
symbol_generatort &fresh_symbol,
300
315
const array_string_exprt &haystack,
301
316
const array_string_exprt &needle,
302
- const exprt &from_index);
317
+ const exprt &from_index,
318
+ array_poolt &array_pool);
303
319
std::pair<exprt, string_constraintst> add_axioms_for_index_of (
304
320
symbol_generatort &fresh_symbol,
305
321
const function_application_exprt &f,
@@ -308,12 +324,14 @@ std::pair<exprt, string_constraintst> add_axioms_for_last_index_of_string(
308
324
symbol_generatort &fresh_symbol,
309
325
const array_string_exprt &haystack,
310
326
const array_string_exprt &needle,
311
- const exprt &from_index);
327
+ const exprt &from_index,
328
+ array_poolt &array_pool);
312
329
std::pair<exprt, string_constraintst> add_axioms_for_last_index_of (
313
330
symbol_generatort &fresh_symbol,
314
331
const array_string_exprt &str,
315
332
const exprt &c,
316
- const exprt &from_index);
333
+ const exprt &from_index,
334
+ array_poolt &array_pool);
317
335
318
336
std::pair<exprt, string_constraintst> add_axioms_for_last_index_of (
319
337
symbol_generatort &fresh_symbol,
@@ -338,8 +356,9 @@ std::pair<exprt, string_constraintst> add_axioms_for_string_of_float(
338
356
const namespacet &ns);
339
357
std::pair<exprt, string_constraintst> add_axioms_for_fractional_part (
340
358
const array_string_exprt &res,
341
- const exprt &i,
342
- size_t max_size);
359
+ const exprt &int_expr,
360
+ size_t max_size,
361
+ array_poolt &array_pool);
343
362
std::pair<exprt, string_constraintst> add_axioms_from_float_scientific_notation (
344
363
symbol_generatort &fresh_symbol,
345
364
const array_string_exprt &res,
@@ -377,7 +396,8 @@ std::pair<exprt, string_constraintst> add_axioms_for_substring(
377
396
const array_string_exprt &res,
378
397
const array_string_exprt &str,
379
398
const exprt &start,
380
- const exprt &end);
399
+ const exprt &end,
400
+ array_poolt &array_pool);
381
401
std::pair<exprt, string_constraintst> add_axioms_for_substring (
382
402
symbol_generatort &fresh_symbol,
383
403
const function_application_exprt &f,
@@ -390,7 +410,8 @@ std::pair<exprt, string_constraintst> add_axioms_for_trim(
390
410
391
411
std::pair<exprt, string_constraintst> add_axioms_for_code_point (
392
412
const array_string_exprt &res,
393
- const exprt &code_point);
413
+ const exprt &code_point,
414
+ array_poolt &array_pool);
394
415
std::pair<exprt, string_constraintst>
395
416
add_axioms_for_char_literal (const function_application_exprt &f);
396
417
@@ -422,13 +443,15 @@ string_constraintst add_axioms_for_characters_in_integer_string(
422
443
const array_string_exprt &str,
423
444
const std::size_t max_string_length,
424
445
const exprt &radix,
425
- const unsigned long radix_ul);
446
+ const unsigned long radix_ul,
447
+ array_poolt &array_pool);
426
448
string_constraintst add_axioms_for_correct_number_format (
427
449
const array_string_exprt &str,
428
450
const exprt &radix_as_char,
429
451
const unsigned long radix_ul,
430
452
const std::size_t max_size,
431
- const bool strict_formatting);
453
+ const bool strict_formatting,
454
+ array_poolt &array_pool);
432
455
std::pair<exprt, string_constraintst> add_axioms_for_parse_int (
433
456
symbol_generatort &fresh_symbol,
434
457
const function_application_exprt &f,
@@ -470,21 +493,25 @@ exprt sum_overflows(const plus_exprt &sum);
470
493
471
494
exprt length_constraint_for_concat_char (
472
495
const array_string_exprt &res,
473
- const array_string_exprt &s1);
496
+ const array_string_exprt &s1,
497
+ array_poolt &array_pool);
474
498
exprt length_constraint_for_concat (
475
499
const array_string_exprt &res,
476
500
const array_string_exprt &s1,
477
- const array_string_exprt &s2);
501
+ const array_string_exprt &s2,
502
+ array_poolt &array_pool);
478
503
exprt length_constraint_for_concat_substr (
479
504
const array_string_exprt &res,
480
505
const array_string_exprt &s1,
481
506
const array_string_exprt &s2,
482
- const exprt &start_index,
483
- const exprt &end_index);
507
+ const exprt &start,
508
+ const exprt &end,
509
+ array_poolt &array_pool);
484
510
exprt length_constraint_for_insert (
485
511
const array_string_exprt &res,
486
512
const array_string_exprt &s1,
487
- const array_string_exprt &s2);
513
+ const array_string_exprt &s2,
514
+ array_poolt &array_pool);
488
515
489
516
exprt zero_if_negative (const exprt &expr);
490
517
0 commit comments