aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h
diff options
context:
space:
mode:
authornechda <nechda@yandex-team.com>2024-08-29 23:50:27 +0300
committernechda <nechda@yandex-team.com>2024-08-30 00:05:25 +0300
commite10d6638f07a82edae3ea8197b9f5c0affcc07ea (patch)
tree571c38cec05813766a1ad290c9d51ce7ace52919 /contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h
parente79b38f2bbbf78d295d1901d2a79f898022d5224 (diff)
downloadydb-e10d6638f07a82edae3ea8197b9f5c0affcc07ea.tar.gz
Update cpp-protobuf to 22.5
Привет!\ Этот PR переключат cpp & python библиотеки protobuf на версию 22.5 Если у вас возникли проблемы после влития этого PR: 1. Если начали падать канон тесты, то проведите их переканонизацию 2. Прочитайте <https://wiki.yandex-team.ru/users/nechda/obnovlenie-cpp-protobuf-22.5/> страничку с основными изменениями 3. Если страничка в вики не помогла, то пишите в [DEVTOOLSSUPPORT](https://st.yandex-team.ru/DEVTOOLSSUPPORT) 7fecade616c20a841b9e9af7b7998bdfc8d2807d
Diffstat (limited to 'contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h')
-rw-r--r--contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h b/contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h
index f9c9a00a0c..16585da339 100644
--- a/contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h
+++ b/contrib/libs/protoc/src/google/protobuf/compiler/java/message_builder.h
@@ -35,10 +35,10 @@
#ifndef GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_BUILDER_H__
#define GOOGLE_PROTOBUF_COMPILER_JAVA_MESSAGE_BUILDER_H__
-#include <map>
#include <string>
-#include <google/protobuf/compiler/java/field.h>
+#include "y_absl/container/btree_map.h"
+#include "google/protobuf/compiler/java/field.h"
namespace google {
namespace protobuf {
@@ -63,23 +63,33 @@ class MessageBuilderGenerator {
public:
explicit MessageBuilderGenerator(const Descriptor* descriptor,
Context* context);
+ MessageBuilderGenerator(const MessageBuilderGenerator&) = delete;
+ MessageBuilderGenerator& operator=(const MessageBuilderGenerator&) = delete;
virtual ~MessageBuilderGenerator();
virtual void Generate(io::Printer* printer);
private:
void GenerateCommonBuilderMethods(io::Printer* printer);
+ void GenerateBuildPartial(io::Printer* printer);
+ int GenerateBuildPartialPiece(io::Printer* printer, int piece,
+ int first_field);
+ int GenerateBuildPartialPieceWithoutPresence(io::Printer* printer, int piece,
+ int first_field);
void GenerateDescriptorMethods(io::Printer* printer);
void GenerateBuilderParsingMethods(io::Printer* printer);
+ void GenerateBuilderFieldParsingCases(io::Printer* printer);
+ void GenerateBuilderFieldParsingCase(io::Printer* printer,
+ const FieldDescriptor* field);
+ void GenerateBuilderPackedFieldParsingCase(io::Printer* printer,
+ const FieldDescriptor* field);
void GenerateIsInitialized(io::Printer* printer);
const Descriptor* descriptor_;
Context* context_;
ClassNameResolver* name_resolver_;
FieldGeneratorMap<ImmutableFieldGenerator> field_generators_;
- std::set<const OneofDescriptor*> oneofs_;
-
- GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(MessageBuilderGenerator);
+ y_absl::btree_map<int, const OneofDescriptor*> oneofs_;
};
} // namespace java