Squashed 'third_party/flatbuffers/' changes from d6a8dbd26..338393f85
338393f85 Documentation updates for Optional Scalars (#6014) (#6270)
c27bc2d76 [C++] Add ParseJson(), Parser(Parser&&), update fuzzers (#6284)
bc518a512 Fixed FlexBufferBuilder asserting on duplicate keys
100c59054 Added a few more paths for auto labeler (#6281)
e58c18244 Add --require-explicit-ids to require explicit ids (#6277)
69a8b2a57 idl_gen_json_schema.cpp: Changed generation of array element types (#6253)
25eba6f35 fix typo (#6280)
e1f0f75ba Updated Ms build Action to fix build issue (#6279)
faeb04fbe Add type annotation to unspecified array (#6264)
537212afe [Swift] Adds a format file and reformats the swift project (#6250)
6764f25d9 Adds a fix for enum generation (#6263)
Change-Id: I716bd4d2521fb0a673e50a699cef761e042052b2
git-subtree-dir: third_party/flatbuffers
git-subtree-split: 338393f854eb5ba24761a22cd9316ff5cee4eab0
diff --git a/include/flatbuffers/idl.h b/include/flatbuffers/idl.h
index a28745f..6afdc7a 100644
--- a/include/flatbuffers/idl.h
+++ b/include/flatbuffers/idl.h
@@ -601,6 +601,9 @@
MiniReflect mini_reflect;
+ // If set, require all fields in a table to be explicitly numbered.
+ bool require_explicit_ids;
+
// The corresponding language bit will be set if a language is included
// for code generation.
unsigned long lang_to_generate;
@@ -661,6 +664,7 @@
filename_extension(),
lang(IDLOptions::kJava),
mini_reflect(IDLOptions::kNone),
+ require_explicit_ids(false),
lang_to_generate(0),
set_empty_strings_to_null(true),
set_empty_vectors_to_null(true) {}
@@ -800,6 +804,11 @@
}
}
+#ifdef FLATBUFFERS_DEFAULT_DECLARATION
+ Parser(Parser&&) = default;
+ Parser& operator=(Parser&&) = default;
+#endif
+
// Parse the string containing either schema or JSON data, which will
// populate the SymbolTable's or the FlatBufferBuilder above.
// include_paths is used to resolve any include statements, and typically
@@ -814,6 +823,8 @@
bool Parse(const char *_source, const char **include_paths = nullptr,
const char *source_filename = nullptr);
+ bool ParseJson(const char *json, const char *json_filename = nullptr);
+
// Set the root type. May override the one set in the schema.
bool SetRootType(const char *name);
@@ -941,6 +952,7 @@
const char **include_paths,
const char *source_filename,
const char *include_filename);
+ FLATBUFFERS_CHECKED_ERROR DoParseJson();
FLATBUFFERS_CHECKED_ERROR CheckClash(std::vector<FieldDef *> &fields,
StructDef *struct_def,
const char *suffix, BaseType baseType);