@@ -484,7 +484,7 @@ message FileOptions {
484
484
optional bool cc_generic_services = 16 [default = false ];
485
485
optional bool java_generic_services = 17 [default = false ];
486
486
optional bool py_generic_services = 18 [default = false ];
487
- optional bool php_generic_services = 42 [ default = false ];
487
+ reserved 42 ; // removed php_generic_services
488
488
489
489
// Is this file deprecated?
490
490
// Depending on the target platform, this can emit Deprecated annotations
@@ -576,10 +576,6 @@ message MessageOptions {
576
576
577
577
reserved 4 , 5 , 6 ;
578
578
579
- // NOTE: Do not set the option in .proto files. Always use the maps syntax
580
- // instead. The option should only be implicitly set by the proto compiler
581
- // parser.
582
- //
583
579
// Whether the message is an automatically generated map entry type for the
584
580
// maps field.
585
581
//
@@ -597,6 +593,10 @@ message MessageOptions {
597
593
// use a native map in the target language to hold the keys and values.
598
594
// The reflection APIs in such implementations still need to work as
599
595
// if the field is a repeated message field.
596
+ //
597
+ // NOTE: Do not set the option in .proto files. Always use the maps syntax
598
+ // instead. The option should only be implicitly set by the proto compiler
599
+ // parser.
600
600
optional bool map_entry = 7 ;
601
601
602
602
reserved 8 ; // javalite_serializable
@@ -695,19 +695,11 @@ message FieldOptions {
695
695
// call from multiple threads concurrently, while non-const methods continue
696
696
// to require exclusive access.
697
697
//
698
- // Note that implementations may choose not to check required fields within
699
- // a lazy sub-message. That is, calling IsInitialized() on the outer message
700
- // may return true even if the inner message has missing required fields.
701
- // This is necessary because otherwise the inner message would have to be
702
- // parsed in order to perform the check, defeating the purpose of lazy
703
- // parsing. An implementation which chooses not to check required fields
704
- // must be consistent about it. That is, for any particular sub-message, the
705
- // implementation must either *always* check its required fields, or *never*
706
- // check its required fields, regardless of whether or not the message has
707
- // been parsed.
708
- //
709
- // As of May 2022, lazy verifies the contents of the byte stream during
710
- // parsing. An invalid byte stream will cause the overall parsing to fail.
698
+ // Note that lazy message fields are still eagerly verified to check
699
+ // ill-formed wireformat or missing required fields. Calling IsInitialized()
700
+ // on the outer message would fail if the inner message has missing required
701
+ // fields. Failed verification would result in parsing failure (except when
702
+ // uninitialized messages are acceptable).
711
703
optional bool lazy = 5 [default = false ];
712
704
713
705
// unverified_lazy does no correctness checks on the byte stream. This should
@@ -1104,7 +1096,7 @@ message SourceCodeInfo {
1104
1096
// location.
1105
1097
//
1106
1098
// Each element is a field number or an index. They form a path from
1107
- // the root FileDescriptorProto to the place where the definition occurs .
1099
+ // the root FileDescriptorProto to the place where the definition appears .
1108
1100
// For example, this path:
1109
1101
// [ 4, 3, 2, 7, 1 ]
1110
1102
// refers to:
0 commit comments