diff --git a/CHANGELOG.md b/CHANGELOG.md index a0b7a2ba5..fa4cfe6f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,6 @@ ArduinoJson: change log ======================= -HEAD ----- - -* Mark `JsonArray`, `JsonObject`, and `JsonVariant` as `final` (issue #2056) - v7.0.3 (2024-02-05) ------ diff --git a/src/ArduinoJson/Array/JsonArray.hpp b/src/ArduinoJson/Array/JsonArray.hpp index b1a3ba1a8..292336308 100644 --- a/src/ArduinoJson/Array/JsonArray.hpp +++ b/src/ArduinoJson/Array/JsonArray.hpp @@ -13,7 +13,7 @@ class JsonObject; // A reference to an array in a JsonDocument // https://arduinojson.org/v7/api/jsonarray/ -class JsonArray final : public detail::VariantOperators { +class JsonArray : public detail::VariantOperators { friend class detail::VariantAttorney; public: diff --git a/src/ArduinoJson/Array/JsonArrayConst.hpp b/src/ArduinoJson/Array/JsonArrayConst.hpp index a7cb51c5d..6c0d7db2f 100644 --- a/src/ArduinoJson/Array/JsonArrayConst.hpp +++ b/src/ArduinoJson/Array/JsonArrayConst.hpp @@ -14,7 +14,7 @@ class JsonObject; // A read-only reference to an array in a JsonDocument // https://arduinojson.org/v7/api/jsonarrayconst/ -class JsonArrayConst final : public detail::VariantOperators { +class JsonArrayConst : public detail::VariantOperators { friend class JsonArray; friend class detail::VariantAttorney; diff --git a/src/ArduinoJson/Array/JsonArrayIterator.hpp b/src/ArduinoJson/Array/JsonArrayIterator.hpp index 5cabffd62..70bb28f4a 100644 --- a/src/ArduinoJson/Array/JsonArrayIterator.hpp +++ b/src/ArduinoJson/Array/JsonArrayIterator.hpp @@ -25,7 +25,7 @@ class Ptr { T value_; }; -class JsonArrayIterator final { +class JsonArrayIterator { friend class JsonArray; public: @@ -59,7 +59,7 @@ class JsonArrayIterator final { detail::ResourceManager* resources_; }; -class JsonArrayConstIterator final { +class JsonArrayConstIterator { friend class JsonArray; public: diff --git a/src/ArduinoJson/Object/JsonObject.hpp b/src/ArduinoJson/Object/JsonObject.hpp index 3c1fe2b2a..e4e7dee4a 100644 --- a/src/ArduinoJson/Object/JsonObject.hpp +++ b/src/ArduinoJson/Object/JsonObject.hpp @@ -13,7 +13,7 @@ class JsonArray; // A reference to an object in a JsonDocument. // https://arduinojson.org/v7/api/jsonobject/ -class JsonObject final : public detail::VariantOperators { +class JsonObject : public detail::VariantOperators { friend class detail::VariantAttorney; public: diff --git a/src/ArduinoJson/Object/JsonObjectConst.hpp b/src/ArduinoJson/Object/JsonObjectConst.hpp index a6d482737..908fa275d 100644 --- a/src/ArduinoJson/Object/JsonObjectConst.hpp +++ b/src/ArduinoJson/Object/JsonObjectConst.hpp @@ -11,7 +11,7 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE // A read-only reference to an object in a JsonDocument. // https://arduinojson.org/v7/api/jsonobjectconst/ -class JsonObjectConst final : public detail::VariantOperators { +class JsonObjectConst : public detail::VariantOperators { friend class JsonObject; friend class detail::VariantAttorney; diff --git a/src/ArduinoJson/Object/JsonObjectIterator.hpp b/src/ArduinoJson/Object/JsonObjectIterator.hpp index 4e2fc16a8..b849e62af 100644 --- a/src/ArduinoJson/Object/JsonObjectIterator.hpp +++ b/src/ArduinoJson/Object/JsonObjectIterator.hpp @@ -8,7 +8,7 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE -class JsonObjectIterator final { +class JsonObjectIterator { friend class JsonObject; public: @@ -43,7 +43,7 @@ class JsonObjectIterator final { detail::ResourceManager* resources_; }; -class JsonObjectConstIterator final { +class JsonObjectConstIterator { friend class JsonObject; public: diff --git a/src/ArduinoJson/Object/JsonPair.hpp b/src/ArduinoJson/Object/JsonPair.hpp index dcc9cd82d..4d621a16f 100644 --- a/src/ArduinoJson/Object/JsonPair.hpp +++ b/src/ArduinoJson/Object/JsonPair.hpp @@ -12,7 +12,7 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE // A key-value pair. // https://arduinojson.org/v7/api/jsonobject/begin_end/ -class JsonPair final { +class JsonPair { public: // INTERNAL USE ONLY JsonPair(detail::ObjectData::iterator iterator, @@ -41,7 +41,7 @@ class JsonPair final { // A read-only key-value pair. // https://arduinojson.org/v7/api/jsonobjectconst/begin_end/ -class JsonPairConst final { +class JsonPairConst { public: JsonPairConst(detail::ObjectData::iterator iterator, const detail::ResourceManager* resources) diff --git a/src/ArduinoJson/Variant/JsonVariant.hpp b/src/ArduinoJson/Variant/JsonVariant.hpp index ef0274f96..5039c38ae 100644 --- a/src/ArduinoJson/Variant/JsonVariant.hpp +++ b/src/ArduinoJson/Variant/JsonVariant.hpp @@ -10,8 +10,8 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE // A reference to a value in a JsonDocument. // https://arduinojson.org/v7/api/jsonvariant/ -class JsonVariant final : public detail::VariantRefBase, - public detail::VariantOperators { +class JsonVariant : public detail::VariantRefBase, + public detail::VariantOperators { friend class detail::VariantAttorney; public: diff --git a/src/ArduinoJson/Variant/JsonVariantConst.hpp b/src/ArduinoJson/Variant/JsonVariantConst.hpp index b3a0174cd..7e7b8c0d8 100644 --- a/src/ArduinoJson/Variant/JsonVariantConst.hpp +++ b/src/ArduinoJson/Variant/JsonVariantConst.hpp @@ -23,9 +23,8 @@ class JsonObject; // A read-only reference to a value in a JsonDocument // https://arduinojson.org/v7/api/jsonarrayconst/ -class JsonVariantConst final - : public detail::VariantTag, - public detail::VariantOperators { +class JsonVariantConst : public detail::VariantTag, + public detail::VariantOperators { friend class detail::VariantAttorney; public: