File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change @@ -738,6 +738,8 @@ java_bytecode_index
738
738
java_instanceof
739
739
java_super_method_call
740
740
java_enum_static_unwind
741
+ push_catch
742
+ handler
741
743
string_constraint
742
744
string_not_contains_constraint
743
745
cprover_char_literal_func
@@ -800,4 +802,4 @@ cprover_string_to_char_array_func
800
802
cprover_string_to_lower_case_func
801
803
cprover_string_to_upper_case_func
802
804
cprover_string_trim_func
803
- cprover_string_value_of_func
805
+ cprover_string_value_of_func
Original file line number Diff line number Diff line change @@ -1122,6 +1122,36 @@ inline const side_effect_expr_throwt &to_side_effect_expr_throw(
1122
1122
assert (expr.get (ID_statement)==ID_throw);
1123
1123
return static_cast <const side_effect_expr_throwt &>(expr);
1124
1124
}
1125
+ /* ! \brief A side effect that pushes/pops a catch handler
1126
+ */
1127
+ class side_effect_expr_catcht :public side_effect_exprt
1128
+ {
1129
+ public:
1130
+ inline side_effect_expr_catcht ():side_effect_exprt(ID_push_catch)
1131
+ {
1132
+ }
1133
+ // TODO: change to ID_catch
1134
+ inline explicit side_effect_expr_catcht (const irept &exception_list):
1135
+ side_effect_exprt(ID_push_catch)
1136
+ {
1137
+ set (ID_exception_list, exception_list);
1138
+ }
1139
+ };
1140
+
1141
+ static inline side_effect_expr_catcht &to_side_effect_expr_catch (exprt &expr)
1142
+ {
1143
+ assert (expr.id ()==ID_side_effect);
1144
+ assert (expr.get (ID_statement)==ID_push_catch);
1145
+ return static_cast <side_effect_expr_catcht &>(expr);
1146
+ }
1147
+
1148
+ static inline const side_effect_expr_catcht &to_side_effect_expr_catch (
1149
+ const exprt &expr)
1150
+ {
1151
+ assert (expr.id ()==ID_side_effect);
1152
+ assert (expr.get (ID_statement)==ID_push_catch);
1153
+ return static_cast <const side_effect_expr_catcht &>(expr);
1154
+ }
1125
1155
1126
1156
/* ! \brief A try/catch block
1127
1157
*/
You can’t perform that action at this time.
0 commit comments