From d7eef30e6c3d62e235cd1d54fdd2e78a41c23b32 Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Mon, 28 Mar 2022 12:42:44 +0200 Subject: [PATCH] Merge isObject() and isObjectStrict() (6796,5626) --- src/ArduinoJson/Object/ObjectRef.hpp | 4 ++-- src/ArduinoJson/Variant/VariantData.hpp | 12 +++--------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/ArduinoJson/Object/ObjectRef.hpp b/src/ArduinoJson/Object/ObjectRef.hpp index 447ecde8..899a8708 100644 --- a/src/ArduinoJson/Object/ObjectRef.hpp +++ b/src/ArduinoJson/Object/ObjectRef.hpp @@ -251,7 +251,7 @@ struct Converter { static bool checkJson(VariantConstRef src) { const VariantData* data = getData(src); - return data && data->isObject(); + return data && data->resolve()->isObject(); } }; @@ -278,7 +278,7 @@ struct Converter { static bool checkJson(VariantRef src) { VariantData* data = getData(src); - return data && data->isObjectStrict(); + return data && data->isObject(); } }; } // namespace ARDUINOJSON_NAMESPACE diff --git a/src/ArduinoJson/Variant/VariantData.hpp b/src/ArduinoJson/Variant/VariantData.hpp index a1afb42a..7a60249d 100644 --- a/src/ArduinoJson/Variant/VariantData.hpp +++ b/src/ArduinoJson/Variant/VariantData.hpp @@ -102,7 +102,7 @@ class VariantData { } CollectionData *asObject() { - return isObjectStrict() ? &_content.asCollection : 0; + return isObject() ? &_content.asCollection : 0; } const CollectionData *asObject() const { @@ -159,12 +159,6 @@ class VariantData { } bool isObject() const { - if (isPointer()) // P+0 G+0 - return _content.asPointer->isObject(); - return isObjectStrict(); - } - - bool isObjectStrict() const { return (_flags & VALUE_IS_OBJECT) != 0; } @@ -185,7 +179,7 @@ class VariantData { template void remove(TAdaptedString key) { - if (isObjectStrict()) + if (isObject()) _content.asCollection.removeMember(key); } @@ -326,7 +320,7 @@ class VariantData { TStoragePolicy storage_policy) { if (isNull()) toObject(); - if (!isObjectStrict()) + if (!isObject()) return 0; return _content.asCollection.getOrAddMember(key, pool, storage_policy); }