summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAustin Schuh <AustinSchuh@users.noreply.github.com>2020-11-19 17:16:45 -0800
committerGitHub <noreply@github.com>2020-11-19 17:16:45 -0800
commite58c182443ac53c317c12fc8b4017d7816576a3d (patch)
treeddc8c1cb05b365637ee5cb0def84b21b9c243586 /include
parent69a8b2a5797fa330b8688000b53adfc6e7c79c37 (diff)
downloadflatbuffers-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.h4
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) {}