|
|
@ -40,6 +40,7 @@ |
|
|
|
syntax = "proto2"; |
|
|
|
syntax = "proto2"; |
|
|
|
|
|
|
|
|
|
|
|
package google.protobuf; |
|
|
|
package google.protobuf; |
|
|
|
|
|
|
|
|
|
|
|
option go_package = "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor"; |
|
|
|
option go_package = "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor"; |
|
|
|
option java_package = "com.google.protobuf"; |
|
|
|
option java_package = "com.google.protobuf"; |
|
|
|
option java_outer_classname = "DescriptorProtos"; |
|
|
|
option java_outer_classname = "DescriptorProtos"; |
|
|
@ -59,8 +60,8 @@ message FileDescriptorSet { |
|
|
|
|
|
|
|
|
|
|
|
// Describes a complete .proto file. |
|
|
|
// Describes a complete .proto file. |
|
|
|
message FileDescriptorProto { |
|
|
|
message FileDescriptorProto { |
|
|
|
optional string name = 1; // file name, relative to root of source tree |
|
|
|
optional string name = 1; // file name, relative to root of source tree |
|
|
|
optional string package = 2; // e.g. "foo", "foo.bar", etc. |
|
|
|
optional string package = 2; // e.g. "foo", "foo.bar", etc. |
|
|
|
|
|
|
|
|
|
|
|
// Names of files imported by this file. |
|
|
|
// Names of files imported by this file. |
|
|
|
repeated string dependency = 3; |
|
|
|
repeated string dependency = 3; |
|
|
@ -115,8 +116,8 @@ message DescriptorProto { |
|
|
|
// fields or extension ranges in the same message. Reserved ranges may |
|
|
|
// fields or extension ranges in the same message. Reserved ranges may |
|
|
|
// not overlap. |
|
|
|
// not overlap. |
|
|
|
message ReservedRange { |
|
|
|
message ReservedRange { |
|
|
|
optional int32 start = 1; // Inclusive. |
|
|
|
optional int32 start = 1; // Inclusive. |
|
|
|
optional int32 end = 2; // Exclusive. |
|
|
|
optional int32 end = 2; // Exclusive. |
|
|
|
} |
|
|
|
} |
|
|
|
repeated ReservedRange reserved_range = 9; |
|
|
|
repeated ReservedRange reserved_range = 9; |
|
|
|
// Reserved field names, which may not be used by fields in the same message. |
|
|
|
// Reserved field names, which may not be used by fields in the same message. |
|
|
@ -137,42 +138,42 @@ message FieldDescriptorProto { |
|
|
|
enum Type { |
|
|
|
enum Type { |
|
|
|
// 0 is reserved for errors. |
|
|
|
// 0 is reserved for errors. |
|
|
|
// Order is weird for historical reasons. |
|
|
|
// Order is weird for historical reasons. |
|
|
|
TYPE_DOUBLE = 1; |
|
|
|
TYPE_DOUBLE = 1; |
|
|
|
TYPE_FLOAT = 2; |
|
|
|
TYPE_FLOAT = 2; |
|
|
|
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if |
|
|
|
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if |
|
|
|
// negative values are likely. |
|
|
|
// negative values are likely. |
|
|
|
TYPE_INT64 = 3; |
|
|
|
TYPE_INT64 = 3; |
|
|
|
TYPE_UINT64 = 4; |
|
|
|
TYPE_UINT64 = 4; |
|
|
|
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if |
|
|
|
// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if |
|
|
|
// negative values are likely. |
|
|
|
// negative values are likely. |
|
|
|
TYPE_INT32 = 5; |
|
|
|
TYPE_INT32 = 5; |
|
|
|
TYPE_FIXED64 = 6; |
|
|
|
TYPE_FIXED64 = 6; |
|
|
|
TYPE_FIXED32 = 7; |
|
|
|
TYPE_FIXED32 = 7; |
|
|
|
TYPE_BOOL = 8; |
|
|
|
TYPE_BOOL = 8; |
|
|
|
TYPE_STRING = 9; |
|
|
|
TYPE_STRING = 9; |
|
|
|
// Tag-delimited aggregate. |
|
|
|
// Tag-delimited aggregate. |
|
|
|
// Group type is deprecated and not supported in proto3. However, Proto3 |
|
|
|
// Group type is deprecated and not supported in proto3. However, Proto3 |
|
|
|
// implementations should still be able to parse the group wire format and |
|
|
|
// implementations should still be able to parse the group wire format and |
|
|
|
// treat group fields as unknown fields. |
|
|
|
// treat group fields as unknown fields. |
|
|
|
TYPE_GROUP = 10; |
|
|
|
TYPE_GROUP = 10; |
|
|
|
TYPE_MESSAGE = 11; // Length-delimited aggregate. |
|
|
|
TYPE_MESSAGE = 11; // Length-delimited aggregate. |
|
|
|
|
|
|
|
|
|
|
|
// New in version 2. |
|
|
|
// New in version 2. |
|
|
|
TYPE_BYTES = 12; |
|
|
|
TYPE_BYTES = 12; |
|
|
|
TYPE_UINT32 = 13; |
|
|
|
TYPE_UINT32 = 13; |
|
|
|
TYPE_ENUM = 14; |
|
|
|
TYPE_ENUM = 14; |
|
|
|
TYPE_SFIXED32 = 15; |
|
|
|
TYPE_SFIXED32 = 15; |
|
|
|
TYPE_SFIXED64 = 16; |
|
|
|
TYPE_SFIXED64 = 16; |
|
|
|
TYPE_SINT32 = 17; // Uses ZigZag encoding. |
|
|
|
TYPE_SINT32 = 17; // Uses ZigZag encoding. |
|
|
|
TYPE_SINT64 = 18; // Uses ZigZag encoding. |
|
|
|
TYPE_SINT64 = 18; // Uses ZigZag encoding. |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
enum Label { |
|
|
|
enum Label { |
|
|
|
// 0 is reserved for errors |
|
|
|
// 0 is reserved for errors |
|
|
|
LABEL_OPTIONAL = 1; |
|
|
|
LABEL_OPTIONAL = 1; |
|
|
|
LABEL_REQUIRED = 2; |
|
|
|
LABEL_REQUIRED = 2; |
|
|
|
LABEL_REPEATED = 3; |
|
|
|
LABEL_REPEATED = 3; |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
optional string name = 1; |
|
|
|
optional string name = 1; |
|
|
|
optional int32 number = 3; |
|
|
|
optional int32 number = 3; |
|
|
@ -234,8 +235,8 @@ message EnumDescriptorProto { |
|
|
|
// is inclusive such that it can appropriately represent the entire int32 |
|
|
|
// is inclusive such that it can appropriately represent the entire int32 |
|
|
|
// domain. |
|
|
|
// domain. |
|
|
|
message EnumReservedRange { |
|
|
|
message EnumReservedRange { |
|
|
|
optional int32 start = 1; // Inclusive. |
|
|
|
optional int32 start = 1; // Inclusive. |
|
|
|
optional int32 end = 2; // Inclusive. |
|
|
|
optional int32 end = 2; // Inclusive. |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Range of reserved numeric values. Reserved numeric values may not be used |
|
|
|
// Range of reserved numeric values. Reserved numeric values may not be used |
|
|
@ -276,9 +277,9 @@ message MethodDescriptorProto { |
|
|
|
optional MethodOptions options = 4; |
|
|
|
optional MethodOptions options = 4; |
|
|
|
|
|
|
|
|
|
|
|
// Identifies if client streams multiple client messages |
|
|
|
// Identifies if client streams multiple client messages |
|
|
|
optional bool client_streaming = 5 [default=false]; |
|
|
|
optional bool client_streaming = 5 [default = false]; |
|
|
|
// Identifies if server streams multiple server messages |
|
|
|
// Identifies if server streams multiple server messages |
|
|
|
optional bool server_streaming = 6 [default=false]; |
|
|
|
optional bool server_streaming = 6 [default = false]; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -314,7 +315,6 @@ message MethodDescriptorProto { |
|
|
|
// If this turns out to be popular, a web service will be set up |
|
|
|
// If this turns out to be popular, a web service will be set up |
|
|
|
// to automatically assign option numbers. |
|
|
|
// to automatically assign option numbers. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
message FileOptions { |
|
|
|
message FileOptions { |
|
|
|
|
|
|
|
|
|
|
|
// Sets the Java package where classes generated from this .proto will be |
|
|
|
// Sets the Java package where classes generated from this .proto will be |
|
|
@ -337,7 +337,7 @@ message FileOptions { |
|
|
|
// named by java_outer_classname. However, the outer class will still be |
|
|
|
// named by java_outer_classname. However, the outer class will still be |
|
|
|
// generated to contain the file's getDescriptor() method as well as any |
|
|
|
// generated to contain the file's getDescriptor() method as well as any |
|
|
|
// top-level extensions defined in the file. |
|
|
|
// top-level extensions defined in the file. |
|
|
|
optional bool java_multiple_files = 10 [default=false]; |
|
|
|
optional bool java_multiple_files = 10 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// This option does nothing. |
|
|
|
// This option does nothing. |
|
|
|
optional bool java_generate_equals_and_hash = 20 [deprecated=true]; |
|
|
|
optional bool java_generate_equals_and_hash = 20 [deprecated=true]; |
|
|
@ -348,17 +348,17 @@ message FileOptions { |
|
|
|
// Message reflection will do the same. |
|
|
|
// Message reflection will do the same. |
|
|
|
// However, an extension field still accepts non-UTF-8 byte sequences. |
|
|
|
// However, an extension field still accepts non-UTF-8 byte sequences. |
|
|
|
// This option has no effect on when used with the lite runtime. |
|
|
|
// This option has no effect on when used with the lite runtime. |
|
|
|
optional bool java_string_check_utf8 = 27 [default=false]; |
|
|
|
optional bool java_string_check_utf8 = 27 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Generated classes can be optimized for speed or code size. |
|
|
|
// Generated classes can be optimized for speed or code size. |
|
|
|
enum OptimizeMode { |
|
|
|
enum OptimizeMode { |
|
|
|
SPEED = 1; // Generate complete code for parsing, serialization, |
|
|
|
SPEED = 1; // Generate complete code for parsing, serialization, |
|
|
|
// etc. |
|
|
|
// etc. |
|
|
|
CODE_SIZE = 2; // Use ReflectionOps to implement these methods. |
|
|
|
CODE_SIZE = 2; // Use ReflectionOps to implement these methods. |
|
|
|
LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. |
|
|
|
LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime. |
|
|
|
} |
|
|
|
} |
|
|
|
optional OptimizeMode optimize_for = 9 [default=SPEED]; |
|
|
|
optional OptimizeMode optimize_for = 9 [default = SPEED]; |
|
|
|
|
|
|
|
|
|
|
|
// Sets the Go package where structs generated from this .proto will be |
|
|
|
// Sets the Go package where structs generated from this .proto will be |
|
|
|
// placed. If omitted, the Go package will be derived from the following: |
|
|
|
// placed. If omitted, the Go package will be derived from the following: |
|
|
@ -379,20 +379,20 @@ message FileOptions { |
|
|
|
// that generate code specific to your particular RPC system. Therefore, |
|
|
|
// that generate code specific to your particular RPC system. Therefore, |
|
|
|
// these default to false. Old code which depends on generic services should |
|
|
|
// these default to false. Old code which depends on generic services should |
|
|
|
// explicitly set them to true. |
|
|
|
// explicitly set them to true. |
|
|
|
optional bool cc_generic_services = 16 [default=false]; |
|
|
|
optional bool cc_generic_services = 16 [default = false]; |
|
|
|
optional bool java_generic_services = 17 [default=false]; |
|
|
|
optional bool java_generic_services = 17 [default = false]; |
|
|
|
optional bool py_generic_services = 18 [default=false]; |
|
|
|
optional bool py_generic_services = 18 [default = false]; |
|
|
|
optional bool php_generic_services = 42 [default=false]; |
|
|
|
optional bool php_generic_services = 42 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// Is this file deprecated? |
|
|
|
// Is this file deprecated? |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// for everything in the file, or it will be completely ignored; in the very |
|
|
|
// for everything in the file, or it will be completely ignored; in the very |
|
|
|
// least, this is a formalization for deprecating files. |
|
|
|
// least, this is a formalization for deprecating files. |
|
|
|
optional bool deprecated = 23 [default=false]; |
|
|
|
optional bool deprecated = 23 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// Enables the use of arenas for the proto messages in this file. This applies |
|
|
|
// Enables the use of arenas for the proto messages in this file. This applies |
|
|
|
// only to generated classes for C++. |
|
|
|
// only to generated classes for C++. |
|
|
|
optional bool cc_enable_arenas = 31 [default=false]; |
|
|
|
optional bool cc_enable_arenas = 31 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Sets the objective c class prefix which is prepended to all objective c |
|
|
|
// Sets the objective c class prefix which is prepended to all objective c |
|
|
@ -418,8 +418,8 @@ message FileOptions { |
|
|
|
optional string php_namespace = 41; |
|
|
|
optional string php_namespace = 41; |
|
|
|
|
|
|
|
|
|
|
|
// Use this option to change the namespace of php generated metadata classes. |
|
|
|
// Use this option to change the namespace of php generated metadata classes. |
|
|
|
// Default is empty. When this option is empty, the proto file name will be used |
|
|
|
// Default is empty. When this option is empty, the proto file name will be |
|
|
|
// for determining the namespace. |
|
|
|
// used for determining the namespace. |
|
|
|
optional string php_metadata_namespace = 44; |
|
|
|
optional string php_metadata_namespace = 44; |
|
|
|
|
|
|
|
|
|
|
|
// Use this option to change the package of ruby generated classes. Default |
|
|
|
// Use this option to change the package of ruby generated classes. Default |
|
|
@ -457,18 +457,18 @@ message MessageOptions { |
|
|
|
// |
|
|
|
// |
|
|
|
// Because this is an option, the above two restrictions are not enforced by |
|
|
|
// Because this is an option, the above two restrictions are not enforced by |
|
|
|
// the protocol compiler. |
|
|
|
// the protocol compiler. |
|
|
|
optional bool message_set_wire_format = 1 [default=false]; |
|
|
|
optional bool message_set_wire_format = 1 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// Disables the generation of the standard "descriptor()" accessor, which can |
|
|
|
// Disables the generation of the standard "descriptor()" accessor, which can |
|
|
|
// conflict with a field of the same name. This is meant to make migration |
|
|
|
// conflict with a field of the same name. This is meant to make migration |
|
|
|
// from proto1 easier; new code should avoid fields named "descriptor". |
|
|
|
// from proto1 easier; new code should avoid fields named "descriptor". |
|
|
|
optional bool no_standard_descriptor_accessor = 2 [default=false]; |
|
|
|
optional bool no_standard_descriptor_accessor = 2 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// Is this message deprecated? |
|
|
|
// Is this message deprecated? |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// for the message, or it will be completely ignored; in the very least, |
|
|
|
// for the message, or it will be completely ignored; in the very least, |
|
|
|
// this is a formalization for deprecating messages. |
|
|
|
// this is a formalization for deprecating messages. |
|
|
|
optional bool deprecated = 3 [default=false]; |
|
|
|
optional bool deprecated = 3 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// Whether the message is an automatically generated map entry type for the |
|
|
|
// Whether the message is an automatically generated map entry type for the |
|
|
|
// maps field. |
|
|
|
// maps field. |
|
|
@ -575,16 +575,16 @@ message FieldOptions { |
|
|
|
// implementation must either *always* check its required fields, or *never* |
|
|
|
// implementation must either *always* check its required fields, or *never* |
|
|
|
// check its required fields, regardless of whether or not the message has |
|
|
|
// check its required fields, regardless of whether or not the message has |
|
|
|
// been parsed. |
|
|
|
// been parsed. |
|
|
|
optional bool lazy = 5 [default=false]; |
|
|
|
optional bool lazy = 5 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// Is this field deprecated? |
|
|
|
// Is this field deprecated? |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// for accessors, or it will be completely ignored; in the very least, this |
|
|
|
// for accessors, or it will be completely ignored; in the very least, this |
|
|
|
// is a formalization for deprecating fields. |
|
|
|
// is a formalization for deprecating fields. |
|
|
|
optional bool deprecated = 3 [default=false]; |
|
|
|
optional bool deprecated = 3 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// For Google-internal migration only. Do not use. |
|
|
|
// For Google-internal migration only. Do not use. |
|
|
|
optional bool weak = 10 [default=false]; |
|
|
|
optional bool weak = 10 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
@ -614,7 +614,7 @@ message EnumOptions { |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// for the enum, or it will be completely ignored; in the very least, this |
|
|
|
// for the enum, or it will be completely ignored; in the very least, this |
|
|
|
// is a formalization for deprecating enums. |
|
|
|
// is a formalization for deprecating enums. |
|
|
|
optional bool deprecated = 3 [default=false]; |
|
|
|
optional bool deprecated = 3 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
reserved 5; // javanano_as_lite |
|
|
|
reserved 5; // javanano_as_lite |
|
|
|
|
|
|
|
|
|
|
@ -630,7 +630,7 @@ message EnumValueOptions { |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// for the enum value, or it will be completely ignored; in the very least, |
|
|
|
// for the enum value, or it will be completely ignored; in the very least, |
|
|
|
// this is a formalization for deprecating enum values. |
|
|
|
// this is a formalization for deprecating enum values. |
|
|
|
optional bool deprecated = 1 [default=false]; |
|
|
|
optional bool deprecated = 1 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
|
repeated UninterpretedOption uninterpreted_option = 999; |
|
|
|
repeated UninterpretedOption uninterpreted_option = 999; |
|
|
@ -650,7 +650,7 @@ message ServiceOptions { |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// for the service, or it will be completely ignored; in the very least, |
|
|
|
// for the service, or it will be completely ignored; in the very least, |
|
|
|
// this is a formalization for deprecating services. |
|
|
|
// this is a formalization for deprecating services. |
|
|
|
optional bool deprecated = 33 [default=false]; |
|
|
|
optional bool deprecated = 33 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
|
repeated UninterpretedOption uninterpreted_option = 999; |
|
|
|
repeated UninterpretedOption uninterpreted_option = 999; |
|
|
@ -670,18 +670,18 @@ message MethodOptions { |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// Depending on the target platform, this can emit Deprecated annotations |
|
|
|
// for the method, or it will be completely ignored; in the very least, |
|
|
|
// for the method, or it will be completely ignored; in the very least, |
|
|
|
// this is a formalization for deprecating methods. |
|
|
|
// this is a formalization for deprecating methods. |
|
|
|
optional bool deprecated = 33 [default=false]; |
|
|
|
optional bool deprecated = 33 [default = false]; |
|
|
|
|
|
|
|
|
|
|
|
// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, |
|
|
|
// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, |
|
|
|
// or neither? HTTP based RPC implementation may choose GET verb for safe |
|
|
|
// or neither? HTTP based RPC implementation may choose GET verb for safe |
|
|
|
// methods, and PUT verb for idempotent methods instead of the default POST. |
|
|
|
// methods, and PUT verb for idempotent methods instead of the default POST. |
|
|
|
enum IdempotencyLevel { |
|
|
|
enum IdempotencyLevel { |
|
|
|
IDEMPOTENCY_UNKNOWN = 0; |
|
|
|
IDEMPOTENCY_UNKNOWN = 0; |
|
|
|
NO_SIDE_EFFECTS = 1; // implies idempotent |
|
|
|
NO_SIDE_EFFECTS = 1; // implies idempotent |
|
|
|
IDEMPOTENT = 2; // idempotent, but may have side effects |
|
|
|
IDEMPOTENT = 2; // idempotent, but may have side effects |
|
|
|
} |
|
|
|
} |
|
|
|
optional IdempotencyLevel idempotency_level = |
|
|
|
optional IdempotencyLevel idempotency_level = 34 |
|
|
|
34 [default=IDEMPOTENCY_UNKNOWN]; |
|
|
|
[default = IDEMPOTENCY_UNKNOWN]; |
|
|
|
|
|
|
|
|
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
|
// The parser stores options it doesn't recognize here. See above. |
|
|
|
repeated UninterpretedOption uninterpreted_option = 999; |
|
|
|
repeated UninterpretedOption uninterpreted_option = 999; |
|
|
@ -793,14 +793,14 @@ message SourceCodeInfo { |
|
|
|
// [ 4, 3, 2, 7 ] |
|
|
|
// [ 4, 3, 2, 7 ] |
|
|
|
// this path refers to the whole field declaration (from the beginning |
|
|
|
// this path refers to the whole field declaration (from the beginning |
|
|
|
// of the label to the terminating semicolon). |
|
|
|
// of the label to the terminating semicolon). |
|
|
|
repeated int32 path = 1 [packed=true]; |
|
|
|
repeated int32 path = 1 [packed = true]; |
|
|
|
|
|
|
|
|
|
|
|
// Always has exactly three or four elements: start line, start column, |
|
|
|
// Always has exactly three or four elements: start line, start column, |
|
|
|
// end line (optional, otherwise assumed same as start line), end column. |
|
|
|
// end line (optional, otherwise assumed same as start line), end column. |
|
|
|
// These are packed into a single field for efficiency. Note that line |
|
|
|
// These are packed into a single field for efficiency. Note that line |
|
|
|
// and column numbers are zero-based -- typically you will want to add |
|
|
|
// and column numbers are zero-based -- typically you will want to add |
|
|
|
// 1 to each before displaying to a user. |
|
|
|
// 1 to each before displaying to a user. |
|
|
|
repeated int32 span = 2 [packed=true]; |
|
|
|
repeated int32 span = 2 [packed = true]; |
|
|
|
|
|
|
|
|
|
|
|
// If this SourceCodeInfo represents a complete declaration, these are any |
|
|
|
// If this SourceCodeInfo represents a complete declaration, these are any |
|
|
|
// comments appearing before and after the declaration which appear to be |
|
|
|
// comments appearing before and after the declaration which appear to be |
|
|
@ -865,7 +865,7 @@ message GeneratedCodeInfo { |
|
|
|
message Annotation { |
|
|
|
message Annotation { |
|
|
|
// Identifies the element in the original source .proto file. This field |
|
|
|
// Identifies the element in the original source .proto file. This field |
|
|
|
// is formatted the same as SourceCodeInfo.Location.path. |
|
|
|
// is formatted the same as SourceCodeInfo.Location.path. |
|
|
|
repeated int32 path = 1 [packed=true]; |
|
|
|
repeated int32 path = 1 [packed = true]; |
|
|
|
|
|
|
|
|
|
|
|
// Identifies the filesystem path to the original source .proto. |
|
|
|
// Identifies the filesystem path to the original source .proto. |
|
|
|
optional string source_file = 2; |
|
|
|
optional string source_file = 2; |
|
|
|