File tree Expand file tree Collapse file tree 4 files changed +10
-4
lines changed
Expand file tree Collapse file tree 4 files changed +10
-4
lines changed Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
2424
2525 // INTERNAL USE ONLY
2626 JsonArray (detail::VariantData* data, detail::ResourceManager* resources)
27- : impl_(detail::VariantImpl(data, resources).asArray( )) {}
27+ : impl_(detail::VariantImpl::asArray (data, resources)) {}
2828
2929 // INTERNAL USE ONLY
3030 JsonArray (const detail::ArrayImpl& impl) : impl_(impl) {}
Original file line number Diff line number Diff line change @@ -38,7 +38,7 @@ class JsonArrayConst : public detail::VariantOperators<JsonArrayConst> {
3838
3939 // INTERNAL USE ONLY
4040 JsonArrayConst (detail::VariantData* data, detail::ResourceManager* resources)
41- : impl_(detail::VariantImpl(data, resources).asArray( )) {}
41+ : impl_(detail::VariantImpl::asArray (data, resources)) {}
4242
4343 // INTERNAL USE ONLY
4444 JsonArrayConst (const detail::ArrayImpl& impl) : impl_(impl) {}
Original file line number Diff line number Diff line change @@ -153,7 +153,13 @@ class VariantImpl {
153153 }
154154
155155 ArrayImpl asArray () {
156- return ArrayImpl (isArray () ? &data_->content .asCollection : nullptr ,
156+ return asArray (data_, resources_);
157+ }
158+
159+ static ArrayImpl asArray (VariantData* data_, ResourceManager* resources_) {
160+ return ArrayImpl (data_ && data_->type == VariantType::Array
161+ ? &data_->content .asCollection
162+ : nullptr ,
157163 resources_);
158164 }
159165
Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ typename TVisitor::result_type VariantImpl::accept(
3030#endif
3131
3232 case VariantType::Array:
33- return visit.visit (ArrayImpl (& data_-> content . asCollection , resources_));
33+ return visit.visit (asArray ( data_, resources_));
3434
3535 case VariantType::Object:
3636 return visit.visit (ObjectImpl (&data_->content .asCollection , resources_));
You can’t perform that action at this time.
0 commit comments