Made user-defined attributes available in the reflection data.

Tested: on Linux.

Bug: 27923233
Change-Id: Ic16675650e4a8e138c163f1e2131a3aad7008ada
This commit is contained in:
Wouter van Oortmerssen
2016-04-11 17:36:56 -07:00
parent 9f2b05df1b
commit 72fc45aa6a
7 changed files with 305 additions and 156 deletions

View File

@@ -34,6 +34,11 @@ table Type {
// from an enum, index into "enums" below.
}
table KeyValue {
key:string (required, key);
value:string;
}
table EnumVal {
name:string (required);
value:long (key);
@@ -45,6 +50,7 @@ table Enum {
values:[EnumVal] (required); // In order of their values.
is_union:bool = false;
underlying_type:Type (required);
attributes:[KeyValue];
}
table Field {
@@ -57,6 +63,7 @@ table Field {
deprecated:bool = false;
required:bool = false;
key:bool = false;
attributes:[KeyValue];
}
table Object { // Used for both tables and structs.
@@ -65,6 +72,7 @@ table Object { // Used for both tables and structs.
is_struct:bool = false;
minalign:int;
bytesize:int; // For structs.
attributes:[KeyValue];
}
table Schema {