From 99e719318b3fe18d679956689aae0a35a68de171 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Wed, 13 Jan 2021 04:11:08 +0000 Subject: [PATCH] Use static_cast instead of dynamic_cast for Val conversions --- src/Val.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Val.h b/src/Val.h index 02fa4e61a1..ecdb5bb8ee 100644 --- a/src/Val.h +++ b/src/Val.h @@ -216,7 +216,7 @@ UNDERLYING_ACCESSOR_DECL(TypeVal, zeek::Type*, AsType) // Since we're converting from "this", make sure the type requested is a pointer. static_assert(std::is_pointer()); - auto v = dynamic_cast(this); + auto v = static_cast(this); if ( ! v ) reporter->InternalError("Failed dynamic_cast between Val types"); @@ -1263,7 +1263,7 @@ public: auto GetFieldAs(int field) const -> std::invoke_result_t { auto& field_ptr = GetField(field); - auto field_val_ptr = dynamic_cast(field_ptr.get()); + auto field_val_ptr = static_cast(field_ptr.get()); if ( ! field_val_ptr ) reporter->InternalError("Typecast failed in TableVal::GetFieldAs"); @@ -1274,7 +1274,7 @@ public: auto GetFieldAs(const char* field) const -> std::invoke_result_t { auto& field_ptr = GetField(field); - auto field_val_ptr = dynamic_cast(field_ptr.get()); + auto field_val_ptr = static_cast(field_ptr.get()); if ( ! field_val_ptr ) reporter->InternalError("Typecast failed in TableVal::GetFieldAs"); @@ -1520,7 +1520,7 @@ private: #define UNDERLYING_ACCESSOR_DEF(ztype, ctype, name) \ inline ctype Val::name() const \ - { return dynamic_cast(this)->Get(); } + { return static_cast(this)->Get(); } UNDERLYING_ACCESSOR_DEF(detail::IntValImplementation, bro_int_t, AsInt) UNDERLYING_ACCESSOR_DEF(BoolVal, bool, AsBool)