--- /dev/null
+{\r
+ "package": null,\r
+ "messages": [\r
+ {\r
+ "ref": "google.protobuf.FileOptions",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "string",\r
+ "name": "my_file_option",\r
+ "id": 50000\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "ref": "google.protobuf.MessageOptions",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "int32",\r
+ "name": "my_message_option",\r
+ "id": 50001\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "ref": "google.protobuf.FieldOptions",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "float",\r
+ "name": "my_field_option",\r
+ "id": 50002\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "ref": "google.protobuf.EnumOptions",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "bool",\r
+ "name": "my_enum_option",\r
+ "id": 50003\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "ref": "google.protobuf.EnumValueOptions",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "uint32",\r
+ "name": "my_enum_value_option",\r
+ "id": 50004\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "ref": "google.protobuf.ServiceOptions",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "MyEnum",\r
+ "name": "my_service_option",\r
+ "id": 50005\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "ref": "google.protobuf.MethodOptions",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "MyMessage",\r
+ "name": "my_method_option",\r
+ "id": 50006\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "name": "MyMessage",\r
+ "fields": [\r
+ {\r
+ "rule": "optional",\r
+ "options": {\r
+ "(my_field_option)": 4.5\r
+ },\r
+ "type": "int32",\r
+ "name": "foo",\r
+ "id": 1\r
+ },\r
+ {\r
+ "rule": "optional",\r
+ "options": {},\r
+ "type": "string",\r
+ "name": "bar",\r
+ "id": 2\r
+ }\r
+ ],\r
+ "enums": [],\r
+ "messages": [],\r
+ "options": {\r
+ "(my_message_option)": 1234\r
+ }\r
+ },\r
+ {\r
+ "name": "RequestType",\r
+ "fields": [],\r
+ "enums": [],\r
+ "messages": [],\r
+ "options": {}\r
+ },\r
+ {\r
+ "name": "ResponseType",\r
+ "fields": [],\r
+ "enums": [],\r
+ "messages": [],\r
+ "options": {}\r
+ }\r
+ ],\r
+ "enums": [\r
+ {\r
+ "name": "MyEnum",\r
+ "values": [\r
+ {\r
+ "name": "FOO",\r
+ "id": 1\r
+ },\r
+ {\r
+ "name": "BAR",\r
+ "id": 2\r
+ }\r
+ ],\r
+ "options": {\r
+ "(my_enum_option)": true\r
+ }\r
+ }\r
+ ],\r
+ "imports": [],\r
+ "options": {\r
+ "(my_file_option)": "Hello world!"\r
+ },\r
+ "services": [\r
+ {\r
+ "name": "MyService",\r
+ "rpc": {\r
+ "MyMethod": {\r
+ "request": "RequestType",\r
+ "response": "ResponseType",\r
+ "options": {\r
+ "(my_method_option).foo": 567,\r
+ "(my_method_option).bar": "Some string"\r
+ }\r
+ }\r
+ },\r
+ "options": {\r
+ "(my_service_option)": "FOO"\r
+ }\r
+ }\r
+ ]\r
+}\r