Skip to content

Commit 04ac53d

Browse files
committed
Remove final from JsonArray, JsonObject, and JsonVariant
`final` breaks ThingsBoard ಠ_ಠ https://github.com/thingsboard/thingsboard-client-sdk/blob/v0.12.2/src/RPC_Response.h#L10 See #2056. This reverts commit 483a2c9.
1 parent 483a2c9 commit 04ac53d

File tree

10 files changed

+14
-20
lines changed

10 files changed

+14
-20
lines changed

CHANGELOG.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
ArduinoJson: change log
22
=======================
33

4-
HEAD
5-
----
6-
7-
* Mark `JsonArray`, `JsonObject`, and `JsonVariant` as `final` (issue #2056)
8-
94
v7.0.3 (2024-02-05)
105
------
116

src/ArduinoJson/Array/JsonArray.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class JsonObject;
1313

1414
// A reference to an array in a JsonDocument
1515
// https://arduinojson.org/v7/api/jsonarray/
16-
class JsonArray final : public detail::VariantOperators<JsonArray> {
16+
class JsonArray : public detail::VariantOperators<JsonArray> {
1717
friend class detail::VariantAttorney;
1818

1919
public:

src/ArduinoJson/Array/JsonArrayConst.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class JsonObject;
1414

1515
// A read-only reference to an array in a JsonDocument
1616
// https://arduinojson.org/v7/api/jsonarrayconst/
17-
class JsonArrayConst final : public detail::VariantOperators<JsonArrayConst> {
17+
class JsonArrayConst : public detail::VariantOperators<JsonArrayConst> {
1818
friend class JsonArray;
1919
friend class detail::VariantAttorney;
2020

src/ArduinoJson/Array/JsonArrayIterator.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class Ptr {
2525
T value_;
2626
};
2727

28-
class JsonArrayIterator final {
28+
class JsonArrayIterator {
2929
friend class JsonArray;
3030

3131
public:
@@ -59,7 +59,7 @@ class JsonArrayIterator final {
5959
detail::ResourceManager* resources_;
6060
};
6161

62-
class JsonArrayConstIterator final {
62+
class JsonArrayConstIterator {
6363
friend class JsonArray;
6464

6565
public:

src/ArduinoJson/Object/JsonObject.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class JsonArray;
1313

1414
// A reference to an object in a JsonDocument.
1515
// https://arduinojson.org/v7/api/jsonobject/
16-
class JsonObject final : public detail::VariantOperators<JsonObject> {
16+
class JsonObject : public detail::VariantOperators<JsonObject> {
1717
friend class detail::VariantAttorney;
1818

1919
public:

src/ArduinoJson/Object/JsonObjectConst.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
1111

1212
// A read-only reference to an object in a JsonDocument.
1313
// https://arduinojson.org/v7/api/jsonobjectconst/
14-
class JsonObjectConst final : public detail::VariantOperators<JsonObjectConst> {
14+
class JsonObjectConst : public detail::VariantOperators<JsonObjectConst> {
1515
friend class JsonObject;
1616
friend class detail::VariantAttorney;
1717

src/ArduinoJson/Object/JsonObjectIterator.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
1010

11-
class JsonObjectIterator final {
11+
class JsonObjectIterator {
1212
friend class JsonObject;
1313

1414
public:
@@ -43,7 +43,7 @@ class JsonObjectIterator final {
4343
detail::ResourceManager* resources_;
4444
};
4545

46-
class JsonObjectConstIterator final {
46+
class JsonObjectConstIterator {
4747
friend class JsonObject;
4848

4949
public:

src/ArduinoJson/Object/JsonPair.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
1212

1313
// A key-value pair.
1414
// https://arduinojson.org/v7/api/jsonobject/begin_end/
15-
class JsonPair final {
15+
class JsonPair {
1616
public:
1717
// INTERNAL USE ONLY
1818
JsonPair(detail::ObjectData::iterator iterator,
@@ -41,7 +41,7 @@ class JsonPair final {
4141

4242
// A read-only key-value pair.
4343
// https://arduinojson.org/v7/api/jsonobjectconst/begin_end/
44-
class JsonPairConst final {
44+
class JsonPairConst {
4545
public:
4646
JsonPairConst(detail::ObjectData::iterator iterator,
4747
const detail::ResourceManager* resources)

src/ArduinoJson/Variant/JsonVariant.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE
1010

1111
// A reference to a value in a JsonDocument.
1212
// https://arduinojson.org/v7/api/jsonvariant/
13-
class JsonVariant final : public detail::VariantRefBase<JsonVariant>,
14-
public detail::VariantOperators<JsonVariant> {
13+
class JsonVariant : public detail::VariantRefBase<JsonVariant>,
14+
public detail::VariantOperators<JsonVariant> {
1515
friend class detail::VariantAttorney;
1616

1717
public:

src/ArduinoJson/Variant/JsonVariantConst.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@ class JsonObject;
2323

2424
// A read-only reference to a value in a JsonDocument
2525
// https://arduinojson.org/v7/api/jsonarrayconst/
26-
class JsonVariantConst final
27-
: public detail::VariantTag,
28-
public detail::VariantOperators<JsonVariantConst> {
26+
class JsonVariantConst : public detail::VariantTag,
27+
public detail::VariantOperators<JsonVariantConst> {
2928
friend class detail::VariantAttorney;
3029

3130
public:

0 commit comments

Comments
 (0)