aboutsummaryrefslogtreecommitdiff
path: root/include/flatbuffers/idl.h
diff options
context:
space:
mode:
authorWouter van Oortmerssen <aardappel@gmail.com>2019-03-04 14:56:07 -0800
committerWouter van Oortmerssen <aardappel@gmail.com>2019-03-07 15:05:00 -0800
commit71628dad0db952ceafc3d4fbaaf4f9096069c98c (patch)
tree8e2e16c135b774cef8d7be221c1eddc92de29727 /include/flatbuffers/idl.h
parentcb7b2bf87e6b5ac38c626380dbbc2284f44ad367 (diff)
downloadflatbuffers-71628dad0db952ceafc3d4fbaaf4f9096069c98c.tar.gz
Fixed vector of union JSON parsing.
This for some reason never had a test case, and was broken. Change-Id: If832f5eb8b6c5ba8a75257464892634b38719c55
Diffstat (limited to 'include/flatbuffers/idl.h')
-rw-r--r--include/flatbuffers/idl.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/flatbuffers/idl.h b/include/flatbuffers/idl.h
index 6b70f3ae..62b3396e 100644
--- a/include/flatbuffers/idl.h
+++ b/include/flatbuffers/idl.h
@@ -719,7 +719,9 @@ class Parser : public ParserState {
FLATBUFFERS_CHECKED_ERROR ParseComma();
FLATBUFFERS_CHECKED_ERROR ParseAnyValue(Value &val, FieldDef *field,
size_t parent_fieldn,
- const StructDef *parent_struct_def);
+ const StructDef *parent_struct_def,
+ uoffset_t count,
+ bool inside_vector = false);
template<typename F>
FLATBUFFERS_CHECKED_ERROR ParseTableDelimiters(size_t &fieldn,
const StructDef *struct_def,
@@ -728,8 +730,9 @@ class Parser : public ParserState {
std::string *value, uoffset_t *ovalue);
void SerializeStruct(const StructDef &struct_def, const Value &val);
template<typename F>
- FLATBUFFERS_CHECKED_ERROR ParseVectorDelimiters(size_t &count, F body);
- FLATBUFFERS_CHECKED_ERROR ParseVector(const Type &type, uoffset_t *ovalue);
+ FLATBUFFERS_CHECKED_ERROR ParseVectorDelimiters(uoffset_t &count, F body);
+ FLATBUFFERS_CHECKED_ERROR ParseVector(const Type &type, uoffset_t *ovalue,
+ FieldDef *field, size_t fieldn);
FLATBUFFERS_CHECKED_ERROR ParseNestedFlatbuffer(Value &val, FieldDef *field,
size_t fieldn,
const StructDef *parent_struct_def);
@@ -775,7 +778,7 @@ class Parser : public ParserState {
const char *suffix,
BaseType baseType);
- bool SupportsVectorOfUnions() const;
+ bool SupportsAdvancedUnionFeatures() const;
Namespace *UniqueNamespace(Namespace *ns);
FLATBUFFERS_CHECKED_ERROR RecurseError();