Skip to content

Commit 514aceb

Browse files
Add BytecodeClassName functions, matching helpers in the java GeneratorNames utility.
PiperOrigin-RevId: 898215432
1 parent 8abff6b commit 514aceb

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

src/google/protobuf/compiler/java/names.cc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,21 @@ std::string QualifiedClassName(const FileDescriptor* descriptor) {
134134
return name_resolver.GetClassName(descriptor, true);
135135
}
136136

137+
std::string BytecodeClassName(const Descriptor* descriptor) {
138+
ClassNameResolver name_resolver;
139+
return name_resolver.GetJavaImmutableClassName(descriptor);
140+
}
141+
142+
std::string BytecodeClassName(const EnumDescriptor* descriptor) {
143+
ClassNameResolver name_resolver;
144+
return name_resolver.GetJavaImmutableClassName(descriptor);
145+
}
146+
147+
std::string BytecodeClassName(const ServiceDescriptor* descriptor) {
148+
ClassNameResolver name_resolver;
149+
return name_resolver.GetJavaImmutableClassName(descriptor);
150+
}
151+
137152
std::string FileJavaPackage(const FileDescriptor* file, bool immutable,
138153
Options options) {
139154
return ClassNameResolver().GetFileJavaPackage(file, immutable);

src/google/protobuf/compiler/java/names.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,31 @@ inline std::string ClassName(const ServiceDescriptor* descriptor) {
9090
return QualifiedClassName(descriptor);
9191
}
9292

93+
// Requires:
94+
// descriptor != NULL
95+
//
96+
// Returns:
97+
// The fully-qualified Java bytecode class name (using $ separator for nested
98+
// classes).
99+
PROTOC_EXPORT std::string BytecodeClassName(const Descriptor* descriptor);
100+
101+
// Requires:
102+
// descriptor != NULL
103+
//
104+
// Returns:
105+
// The fully-qualified Java bytecode class name (using $ separator for nested
106+
// classes).
107+
PROTOC_EXPORT std::string BytecodeClassName(const EnumDescriptor* descriptor);
108+
109+
// Requires:
110+
// descriptor != NULL
111+
//
112+
// Returns:
113+
// The fully-qualified Java bytecode class name (using $ separator for nested
114+
// classes).
115+
PROTOC_EXPORT std::string BytecodeClassName(
116+
const ServiceDescriptor* descriptor);
117+
93118
// Requires:
94119
// descriptor != NULL
95120
//

0 commit comments

Comments
 (0)