Swap the parameters of JsonVariant's constructor

This commit is contained in:
Benoit Blanchon
2023-06-20 18:03:53 +02:00
parent db2fb01795
commit 4c0fb4eb55
6 changed files with 14 additions and 15 deletions

View File

@ -32,8 +32,8 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
// https://arduinojson.org/v6/api/jsonvariant/
operator JsonVariant() {
void* data = data_; // prevent warning cast-align
return JsonVariant(resources_,
reinterpret_cast<detail::VariantData*>(data));
return JsonVariant(reinterpret_cast<detail::VariantData*>(data),
resources_);
}
// Returns a read-only reference to the array.
@ -46,7 +46,7 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
// Returns a reference to the new element.
// https://arduinojson.org/v6/api/jsonarray/add/
JsonVariant add() const {
return JsonVariant(resources_, collectionAddElement(data_, resources_));
return JsonVariant(collectionAddElement(data_, resources_), resources_);
}
// Appends a value to the array.

View File

@ -36,7 +36,7 @@ class JsonArrayIterator {
: resources_(resources), slot_(slot) {}
JsonVariant operator*() const {
return JsonVariant(resources_, slot_->data());
return JsonVariant(slot_->data(), resources_);
}
Ptr<JsonVariant> operator->() {
return operator*();

View File

@ -297,7 +297,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
// Returns a reference to the new element.
// https://arduinojson.org/v6/api/jsondocument/add/
FORCE_INLINE JsonVariant add() {
return JsonVariant(&resources_, data_.addElement(&resources_));
return JsonVariant(data_.addElement(&resources_), &resources_);
}
// Appends a value to the root array.
@ -352,7 +352,7 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
private:
JsonVariant getVariant() {
return JsonVariant(&resources_, &data_);
return JsonVariant(&data_, &resources_);
}
JsonVariantConst getVariant() const {

View File

@ -29,8 +29,8 @@ class JsonObject : public detail::VariantOperators<JsonObject> {
operator JsonVariant() const {
void* data = data_; // prevent warning cast-align
return JsonVariant(resources_,
reinterpret_cast<detail::VariantData*>(data));
return JsonVariant(reinterpret_cast<detail::VariantData*>(data),
resources_);
}
operator JsonObjectConst() const {

View File

@ -19,7 +19,7 @@ class JsonPair {
if (slot) {
key_ = JsonString(slot->key(), slot->ownsKey() ? JsonString::Copied
: JsonString::Linked);
value_ = JsonVariant(resources, slot->data());
value_ = JsonVariant(slot->data(), resources);
}
}

View File

@ -19,7 +19,7 @@ class JsonVariant : public detail::VariantRefBase<JsonVariant>,
JsonVariant() : data_(0), resources_(0) {}
// INTERNAL USE ONLY
JsonVariant(detail::ResourceManager* resources, detail::VariantData* data)
JsonVariant(detail::VariantData* data, detail::ResourceManager* resources)
: data_(data), resources_(resources) {}
private:
@ -85,19 +85,18 @@ ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
template <typename TDerived>
inline JsonVariant VariantRefBase<TDerived>::add() const {
return JsonVariant(
getResourceManager(),
variantAddElement(getOrCreateData(), getResourceManager()));
return JsonVariant(variantAddElement(getOrCreateData(), getResourceManager()),
getResourceManager());
}
template <typename TDerived>
inline JsonVariant VariantRefBase<TDerived>::getVariant() const {
return JsonVariant(getResourceManager(), getData());
return JsonVariant(getData(), getResourceManager());
}
template <typename TDerived>
inline JsonVariant VariantRefBase<TDerived>::getOrCreateVariant() const {
return JsonVariant(getResourceManager(), getOrCreateData());
return JsonVariant(getOrCreateData(), getResourceManager());
}
template <typename TDerived>