Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 13 additions & 3 deletions java/core/src/main/java/com/google/protobuf/GeneratorNames.java
Original file line number Diff line number Diff line change
Expand Up @@ -305,15 +305,20 @@ public static String getQualifiedClassName(ServiceDescriptor service) {

private static String getClassFullName(
String nameWithoutPackage, FileDescriptor file, boolean isOwnFile) {
return getClassFullName(nameWithoutPackage, file.toProto(), isOwnFile);
}

static String getClassFullName(
String nameWithoutPackage, FileDescriptorProtoOrBuilder file, boolean isOwnFile) {
// Replicates the logic for ClassNameResolver::GetJavaClassFullName from immutable/names.cc
StringBuilder result = new StringBuilder();
if (isOwnFile) {
result.append(getFileJavaPackage(file.toProto()));
result.append(getFileJavaPackage(file));
if (result.length() > 0) {
result.append(".");
}
} else {
result.append(joinPackage(getFileJavaPackage(file.toProto()), getFileClassName(file)));
result.append(joinPackage(getFileJavaPackage(file), getFileClassName(file)));
if (result.length() > 0) {
result.append("$");
}
Expand All @@ -323,9 +328,14 @@ private static String getClassFullName(
}

/** Returns the nest_in_file_class behavior for a given set of features in a specific file. */
private static boolean getNestInFileClass(FileDescriptor file, JavaFeatures resolvedFeatures) {
return getNestInFileClass(file.toProto(), resolvedFeatures);
}

// Switch expressions were released in Java 14, and we support Java 8.
@SuppressWarnings("StatementSwitchToExpressionSwitch")
private static boolean getNestInFileClass(FileDescriptor file, JavaFeatures resolvedFeatures) {
static boolean getNestInFileClass(
FileDescriptorProtoOrBuilder file, JavaFeatures resolvedFeatures) {
switch (resolvedFeatures.getNestInFileClass()) {
case YES:
return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,7 @@ public void getResolvedFileFeatures_unparsedExtensions() throws Exception {
.isTrue();
}


// Helper classes to contain parameterized test data.

private static String getShortFilename(FileDescriptor descriptor) {
Expand Down
Loading