summaryrefslogtreecommitdiff
path: root/reflection
diff options
context:
space:
mode:
authorCasper <casperneo@uchicago.edu>2021-06-17 11:50:04 -0400
committerGitHub <noreply@github.com>2021-06-17 11:50:04 -0400
commitc58ae942256577ab4c20137ead6f4e1b2a03ff3c (patch)
tree5572d3c18d3d0a8083aa8ca5daea5fa05cda311f /reflection
parent2cf7bb796684375867089b348e876ddf733ef022 (diff)
downloadflatbuffers-c58ae942256577ab4c20137ead6f4e1b2a03ff3c.tar.gz
flatbuffers-c58ae942256577ab4c20137ead6f4e1b2a03ff3c.tar.bz2
flatbuffers-c58ae942256577ab4c20137ead6f4e1b2a03ff3c.zip
Add the file a symbol is declared in to Reflection (#6613)
* Add the file a symbol is declared in to Reflection If we move a code-generator to depend on Reflection, it may need to know which file something was declared in to properly name generated files. * Doc comments in reflection, and more precise tests * Add --project-root flag to flatc, normalize declaraion_file to this root * fix --project-root stuff * posixpath * fix scripts * format * rename --project-root to --bfbs-filenames Also, make it optional, rather than defaulting to `./`, if its not specified, then don't serialize the filenames. * bfbs generation * fix some tests * uncomment a thing * add to project root directory conditionally * fix * git clang format * Added help description and removed != nullptr * " * Remove accidental change to docs * Remove accidental change to docs * Pool strings Co-authored-by: Casper Neo <cneo@google.com>
Diffstat (limited to 'reflection')
-rw-r--r--reflection/reflection.fbs11
1 files changed, 10 insertions, 1 deletions
diff --git a/reflection/reflection.fbs b/reflection/reflection.fbs
index c80f3567..50724710 100644
--- a/reflection/reflection.fbs
+++ b/reflection/reflection.fbs
@@ -60,6 +60,8 @@ table Enum {
underlying_type:Type (required);
attributes:[KeyValue];
documentation:[string];
+ /// File that this Enum is declared in.
+ declaration_file: string;
}
table Field {
@@ -85,6 +87,8 @@ table Object { // Used for both tables and structs.
bytesize:int; // For structs.
attributes:[KeyValue];
documentation:[string];
+ /// File that this Object is declared in.
+ declaration_file: string;
}
table RPCCall {
@@ -100,9 +104,11 @@ table Service {
calls:[RPCCall];
attributes:[KeyValue];
documentation:[string];
+ /// File that this Service is declared in.
+ declaration_file: string;
}
-// New schema language features that are not supported by old code generators.
+/// New schema language features that are not supported by old code generators.
enum AdvancedFeatures : ulong (bit_flags) {
AdvancedArrayFeatures,
AdvancedUnionFeatures,
@@ -118,6 +124,9 @@ table Schema {
root_table:Object;
services:[Service]; // Sorted.
advanced_features:AdvancedFeatures;
+ /// All the files used in this compilation. Files are relative to where
+ /// flatc was invoked.
+ fbs_files:[string];
}
root_type Schema;