summaryrefslogtreecommitdiffstats
path: root/contrib/libs/protoc/src/google/protobuf/compiler/java/extension.cc
diff options
context:
space:
mode:
authornechda <[email protected]>2024-08-29 23:50:27 +0300
committernechda <[email protected]>2024-08-30 00:05:25 +0300
commite10d6638f07a82edae3ea8197b9f5c0affcc07ea (patch)
tree571c38cec05813766a1ad290c9d51ce7ace52919 /contrib/libs/protoc/src/google/protobuf/compiler/java/extension.cc
parente79b38f2bbbf78d295d1901d2a79f898022d5224 (diff)
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/extension.cc')
-rw-r--r--contrib/libs/protoc/src/google/protobuf/compiler/java/extension.cc51
1 files changed, 28 insertions, 23 deletions
diff --git a/contrib/libs/protoc/src/google/protobuf/compiler/java/extension.cc b/contrib/libs/protoc/src/google/protobuf/compiler/java/extension.cc
index 0983366c4f8..dd9e6eab186 100644
--- a/contrib/libs/protoc/src/google/protobuf/compiler/java/extension.cc
+++ b/contrib/libs/protoc/src/google/protobuf/compiler/java/extension.cc
@@ -32,17 +32,18 @@
// Based on original Protocol Buffers design by
// Sanjay Ghemawat, Jeff Dean, and others.
-#include <google/protobuf/compiler/java/extension.h>
+#include "google/protobuf/compiler/java/extension.h"
-#include <google/protobuf/io/printer.h>
-#include <google/protobuf/stubs/strutil.h>
-#include <google/protobuf/compiler/java/context.h>
-#include <google/protobuf/compiler/java/doc_comment.h>
-#include <google/protobuf/compiler/java/helpers.h>
-#include <google/protobuf/compiler/java/name_resolver.h>
+#include "y_absl/container/flat_hash_map.h"
+#include "y_absl/strings/str_cat.h"
+#include "google/protobuf/compiler/java/context.h"
+#include "google/protobuf/compiler/java/doc_comment.h"
+#include "google/protobuf/compiler/java/helpers.h"
+#include "google/protobuf/compiler/java/name_resolver.h"
+#include "google/protobuf/io/printer.h"
// Must be last.
-#include <google/protobuf/port_def.inc>
+#include "google/protobuf/port_def.inc"
namespace google {
namespace protobuf {
@@ -51,7 +52,9 @@ namespace java {
ImmutableExtensionGenerator::ImmutableExtensionGenerator(
const FieldDescriptor* descriptor, Context* context)
- : descriptor_(descriptor), name_resolver_(context->GetNameResolver()) {
+ : descriptor_(descriptor),
+ name_resolver_(context->GetNameResolver()),
+ context_(context) {
if (descriptor_->extension_scope() != NULL) {
scope_ =
name_resolver_->GetImmutableClassName(descriptor_->extension_scope());
@@ -66,19 +69,21 @@ ImmutableExtensionGenerator::~ImmutableExtensionGenerator() {}
void ExtensionGenerator::InitTemplateVars(
const FieldDescriptor* descriptor, const TProtoStringType& scope, bool immutable,
ClassNameResolver* name_resolver,
- std::map<TProtoStringType, TProtoStringType>* vars_pointer) {
- std::map<TProtoStringType, TProtoStringType>& vars = *vars_pointer;
+ y_absl::flat_hash_map<y_absl::string_view, TProtoStringType>* vars_pointer,
+ Context* context) {
+ y_absl::flat_hash_map<y_absl::string_view, TProtoStringType>& vars = *vars_pointer;
vars["scope"] = scope;
vars["name"] = UnderscoresToCamelCaseCheckReserved(descriptor);
vars["containing_type"] =
name_resolver->GetClassName(descriptor->containing_type(), immutable);
- vars["number"] = StrCat(descriptor->number());
+ vars["number"] = y_absl::StrCat(descriptor->number());
vars["constant_name"] = FieldConstantName(descriptor);
- vars["index"] = StrCat(descriptor->index());
+ vars["index"] = y_absl::StrCat(descriptor->index());
vars["default"] = descriptor->is_repeated()
? ""
- : DefaultValue(descriptor, immutable, name_resolver);
- vars["type_constant"] = FieldTypeName(GetType(descriptor));
+ : DefaultValue(descriptor, immutable, name_resolver,
+ context->options());
+ vars["type_constant"] = TProtoStringType(FieldTypeName(GetType(descriptor)));
vars["packed"] = descriptor->is_packed() ? "true" : "false";
vars["enum_map"] = "null";
vars["prototype"] = "null";
@@ -89,12 +94,12 @@ void ExtensionGenerator::InitTemplateVars(
case JAVATYPE_MESSAGE:
singular_type =
name_resolver->GetClassName(descriptor->message_type(), immutable);
- vars["prototype"] = singular_type + ".getDefaultInstance()";
+ vars["prototype"] = y_absl::StrCat(singular_type, ".getDefaultInstance()");
break;
case JAVATYPE_ENUM:
singular_type =
name_resolver->GetClassName(descriptor->enum_type(), immutable);
- vars["enum_map"] = singular_type + ".internalGetValueMap()";
+ vars["enum_map"] = y_absl::StrCat(singular_type, ".internalGetValueMap()");
break;
case JAVATYPE_STRING:
singular_type = "java.lang.String";
@@ -103,20 +108,20 @@ void ExtensionGenerator::InitTemplateVars(
singular_type = immutable ? "com.google.protobuf.ByteString" : "byte[]";
break;
default:
- singular_type = BoxedPrimitiveTypeName(java_type);
+ singular_type = TProtoStringType(BoxedPrimitiveTypeName(java_type));
break;
}
vars["type"] = descriptor->is_repeated()
- ? "java.util.List<" + singular_type + ">"
+ ? y_absl::StrCat("java.util.List<", singular_type, ">")
: singular_type;
vars["singular_type"] = singular_type;
}
void ImmutableExtensionGenerator::Generate(io::Printer* printer) {
- std::map<TProtoStringType, TProtoStringType> vars;
+ y_absl::flat_hash_map<y_absl::string_view, TProtoStringType> vars;
const bool kUseImmutableNames = true;
InitTemplateVars(descriptor_, scope_, kUseImmutableNames, name_resolver_,
- &vars);
+ &vars, context_);
printer->Print(vars, "public static final int $constant_name$ = $number$;\n");
WriteFieldDocComment(printer, descriptor_);
@@ -156,7 +161,7 @@ int ImmutableExtensionGenerator::GenerateNonNestedInitializationCode(
printer->Print(
"$name$.internalInit(descriptor.getExtensions().get($index$));\n",
"name", UnderscoresToCamelCaseCheckReserved(descriptor_), "index",
- StrCat(descriptor_->index()));
+ y_absl::StrCat(descriptor_->index()));
bytecode_estimate += 21;
}
return bytecode_estimate;
@@ -174,4 +179,4 @@ int ImmutableExtensionGenerator::GenerateRegistrationCode(
} // namespace protobuf
} // namespace google
-#include <google/protobuf/port_undef.inc>
+#include "google/protobuf/port_undef.inc"