MCPcopy Create free account
hub / github.com/apache/arrow / EndObjectImpl

Method EndObjectImpl

cpp/src/arrow/json/parser.cc:860–877  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

858 }
859
860 Status EndObjectImpl() {
861 auto parent = builder_stack_.back();
862
863 auto expected_count = absent_fields_stack_.TopSize();
864 for (int i = 0; i < expected_count; ++i) {
865 if (!absent_fields_stack_[i]) {
866 continue;
867 }
868 auto field_builder = Cast<Kind::kObject>(parent)->field_builder(i);
869 if (ARROW_PREDICT_FALSE(!field_builder.nullable)) {
870 return ParseError("a required field was absent");
871 }
872 RETURN_NOT_OK(builder_set_.AppendNull(parent, i, field_builder));
873 }
874 absent_fields_stack_.Pop();
875 EndNested();
876 return Status::OK();
877 }
878
879 Status StartArrayImpl() {
880 constexpr auto kind = Kind::kArray;

Callers

nothing calls this directly

Calls 7

backMethod · 0.80
TopSizeMethod · 0.80
field_builderMethod · 0.80
ParseErrorFunction · 0.70
OKFunction · 0.70
AppendNullMethod · 0.45
PopMethod · 0.45

Tested by

no test coverage detected