Skip to content

Commit 0b19724

Browse files
committed
Extract getOrCreateMember()
Before: 9802, 8568, 9630, 12434, 9796 After: 9802, 8558, 9630, 12418, 9654 Target: 9800, 8458, 9634, 12290, 9702
1 parent d24703d commit 0b19724

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/ArduinoJson/Variant/VariantData.hpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,9 +316,18 @@ class VariantImpl {
316316

317317
template <typename TAdaptedString>
318318
VariantData* getOrAddMember(TAdaptedString key) {
319+
return getOrAddMember(key, data_, resources_);
320+
}
321+
322+
template <typename TAdaptedString>
323+
static VariantData* getOrAddMember(TAdaptedString key, VariantData* data,
324+
ResourceManager* resources) {
319325
if (key.isNull())
320326
return nullptr;
321-
auto obj = isNull() ? toObject() : asObject();
327+
if (!data)
328+
return nullptr;
329+
auto obj = data->type == VariantType::Null ? toObject(data, resources)
330+
: asObject(data, resources);
322331
return obj.getOrAddMember(key);
323332
}
324333

0 commit comments

Comments
 (0)