File tree 1 file changed +6
-12
lines changed
1 file changed +6
-12
lines changed Original file line number Diff line number Diff line change @@ -53,14 +53,11 @@ namespace detail // NOLINT
53
53
template <typename Tag>
54
54
inline bool can_cast_code_impl (const exprt &expr, const Tag &tag)
55
55
{
56
- try
56
+ if ( const auto ptr = expr_try_dynamic_cast<codet>(expr))
57
57
{
58
- return expr_dynamic_cast<codet>(expr).get_statement ()==tag;
59
- }
60
- catch (const std::bad_cast &)
61
- {
62
- return false ;
58
+ return ptr->get_statement () == tag;
63
59
}
60
+ return false ;
64
61
}
65
62
66
63
} // namespace detail
@@ -1244,14 +1241,11 @@ namespace detail // NOLINT
1244
1241
template <typename Tag>
1245
1242
inline bool can_cast_side_effect_expr_impl (const exprt &expr, const Tag &tag)
1246
1243
{
1247
- try
1248
- {
1249
- return expr_dynamic_cast<side_effect_exprt>(expr).get_statement ()==tag;
1250
- }
1251
- catch (const std::bad_cast &)
1244
+ if (const auto ptr = expr_try_dynamic_cast<side_effect_exprt>(expr))
1252
1245
{
1253
- return false ;
1246
+ return ptr-> get_statement () == tag ;
1254
1247
}
1248
+ return false ;
1255
1249
}
1256
1250
1257
1251
} // namespace detail
You can’t perform that action at this time.
0 commit comments