diff options
author | Austin Schuh <AustinSchuh@users.noreply.github.com> | 2020-11-19 17:16:45 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-19 17:16:45 -0800 |
commit | e58c182443ac53c317c12fc8b4017d7816576a3d (patch) | |
tree | ddc8c1cb05b365637ee5cb0def84b21b9c243586 /include | |
parent | 69a8b2a5797fa330b8688000b53adfc6e7c79c37 (diff) | |
download | flatbuffers-e58c182443ac53c317c12fc8b4017d7816576a3d.tar.gz flatbuffers-e58c182443ac53c317c12fc8b4017d7816576a3d.tar.bz2 flatbuffers-e58c182443ac53c317c12fc8b4017d7816576a3d.zip |
Add --require-explicit-ids to require explicit ids (#6277)
* Add --require-explicit-ids to require explicit ids
We just got bit by a well intentioned developer forgetting that field
order by default is the field index. 3 people missed it in review.
I'm looking at ways to make it harder to mess up. We are requesting
that developers explicitly id all fields in tables. Automatic (opt in
for others) enforcement of this will help the effort succeed. This
patch adds a command line flag which lets the user require ids on all
fields in tables.
* Added docs to Compiler.md as well
Diffstat (limited to 'include')
-rw-r--r-- | include/flatbuffers/idl.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/flatbuffers/idl.h b/include/flatbuffers/idl.h index a28745f0..e073d416 100644 --- a/include/flatbuffers/idl.h +++ b/include/flatbuffers/idl.h @@ -601,6 +601,9 @@ struct IDLOptions { 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 @@ struct IDLOptions { 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) {} |