Modify flatc so that protobuf->fbs file conversion generates field IDs.

Change-Id: I1fe225d25e663adecae6cde64a73c86e1cb72ea9
Signed-off-by: James Kuszmaul <james.kuszmaul@bluerivertech.com>
diff --git a/third_party/flatbuffers/src/idl_gen_fbs.cpp b/third_party/flatbuffers/src/idl_gen_fbs.cpp
index 9c58dc4..18ec4aa 100644
--- a/third_party/flatbuffers/src/idl_gen_fbs.cpp
+++ b/third_party/flatbuffers/src/idl_gen_fbs.cpp
@@ -129,6 +129,7 @@
     GenNameSpace(*struct_def.defined_namespace, &schema, &last_namespace);
     GenComment(struct_def.doc_comment, &schema, nullptr);
     schema += "table " + struct_def.name + " {\n";
+    size_t field_id = 0;
     for (auto field_it = struct_def.fields.vec.begin();
          field_it != struct_def.fields.vec.end(); ++field_it) {
       auto &field = **field_it;
@@ -138,6 +139,8 @@
         if (field.value.constant != "0") schema += " = " + field.value.constant;
         if (field.IsRequired()) schema += " (required)";
         if (field.key) schema += " (key)";
+        schema += " (id: " + NumToString(field_id) + ")";
+        ++field_id;
         schema += ";\n";
       }
     }