diff --git a/protobuf/protoc-gen-cruxclient/api_generator.cc b/protobuf/protoc-gen-cruxclient/api_generator.cc index 2b01c5d..0d7055f 100644 --- a/protobuf/protoc-gen-cruxclient/api_generator.cc +++ b/protobuf/protoc-gen-cruxclient/api_generator.cc @@ -401,6 +401,7 @@ void APIGenerator::PrintDjinniYAML( auto messages = GetMessagesFromFile(file); for (const auto message : messages) { vars["message_name"] = ClassName(message, false); + vars["java_message_name"] = UnderscoresToDollar(vars["message_name"]); vars["cpp_type_name"] = DotsToColons(message->full_name()); vars["objc_header"] = DotsToSlashs(message->full_name()); vars["file_name"] = StripProto(file->name()); @@ -442,8 +443,8 @@ void APIGenerator::PrintDjinniYAML( printer->Print("java:\n"); printer->Indent(); - printer->Print(vars, "typename: '$java_package$.$message_name$'\n"); - printer->Print(vars, "boxed: '$java_package$.$message_name$'\n"); + printer->Print(vars, "typename: '$java_package$.$java_message_name$'\n"); + printer->Print(vars, "boxed: '$java_package$.$java_message_name$'\n"); printer->Print("reference: true\n"); printer->Print("generic: false\n"); printer->Print("hash: '%s.hashCode()'\n"); @@ -454,7 +455,7 @@ void APIGenerator::PrintDjinniYAML( printer->Print(vars, "translator: 'djinni::$cpp_type_name$::Translator'\n"); printer->Print(vars, "header: '\"$main_file_name$.djinni.jni.h\"'\n"); printer->Print(vars, "typename: jobject\n"); - printer->Print(vars, "typeSignature: 'L$java_package_slashes$/$message_name$;'\n"); + printer->Print(vars, "typeSignature: 'L$java_package_slashes$/$java_message_name$;'\n"); printer->Outdent(); printer->Print("\n"); @@ -554,7 +555,7 @@ void APIGenerator::PrintDjinniJNISupport( vars["dir"] = dir; auto messages = GetMessagesFromFile(file); for (const auto message : messages) { - vars["message_name"] = ClassName(message, false); + vars["message_name"] = UnderscoresToDollar(ClassName(message, false)); vars["cpp_type_name"] = DotsToColons(message->full_name()); vars["file_name"] = StripProto(file->name()); vars["cpp_header"] = DotsToSlashs(ToLower(message->full_name())); diff --git a/protobuf/protoc-gen-cruxclient/common.h b/protobuf/protoc-gen-cruxclient/common.h index 2ccdbe1..fd1f9b2 100644 --- a/protobuf/protoc-gen-cruxclient/common.h +++ b/protobuf/protoc-gen-cruxclient/common.h @@ -133,6 +133,10 @@ inline std::string DotsToSlashs(const std::string &name) { return StringReplace(name, ".", "/"); } +inline std::string UnderscoresToDollar(const std::string &name) { + return StringReplace(name, "_", "$"); +} + inline std::string ToLower(const std::string &input) { std::string output = input; std::transform(output.begin(), output.end(), output.begin(), diff --git a/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.jni.h b/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.jni.h index b44973c..99d1cd9 100644 --- a/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.jni.h +++ b/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.jni.h @@ -209,10 +209,10 @@ struct Translator { #include "routeguide/v1/message.pb.h" namespace djinni::routeguide::v1::RouteSummary::Details { struct JNIInfo { - const GlobalRef clazz { jniFindClass("io/grpc/examples/routeguide/RouteSummary_Details") }; + const GlobalRef clazz { jniFindClass("io/grpc/examples/routeguide/RouteSummary$Details") }; const jmethodID method_toBytes { jniGetMethodID(clazz.get(), "toByteArray", "()[B") }; const jmethodID method_byteSize { jniGetMethodID(clazz.get(), "getSerializedSize", "()I") }; - const jmethodID method_fromBytes { jniGetStaticMethodID(clazz.get(), "parseFrom", "([B)Lio/grpc/examples/routeguide/RouteSummary_Details;") }; + const jmethodID method_fromBytes { jniGetStaticMethodID(clazz.get(), "parseFrom", "([B)Lio/grpc/examples/routeguide/RouteSummary$Details;") }; }; struct Translator { @@ -250,10 +250,10 @@ struct Translator { #include "routeguide/v1/message.pb.h" namespace djinni::routeguide::v1::RouteSummary::Details::MoreDetails { struct JNIInfo { - const GlobalRef clazz { jniFindClass("io/grpc/examples/routeguide/RouteSummary_Details_MoreDetails") }; + const GlobalRef clazz { jniFindClass("io/grpc/examples/routeguide/RouteSummary$Details$MoreDetails") }; const jmethodID method_toBytes { jniGetMethodID(clazz.get(), "toByteArray", "()[B") }; const jmethodID method_byteSize { jniGetMethodID(clazz.get(), "getSerializedSize", "()I") }; - const jmethodID method_fromBytes { jniGetStaticMethodID(clazz.get(), "parseFrom", "([B)Lio/grpc/examples/routeguide/RouteSummary_Details_MoreDetails;") }; + const jmethodID method_fromBytes { jniGetStaticMethodID(clazz.get(), "parseFrom", "([B)Lio/grpc/examples/routeguide/RouteSummary$Details$MoreDetails;") }; }; struct Translator { @@ -287,4 +287,3 @@ struct Translator { } }; } //namespace djinni::routeguide::v1::RouteSummary::Details::MoreDetails - diff --git a/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.yaml b/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.yaml index 59b0b89..cd87a7c 100644 --- a/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.yaml +++ b/protobuf/protoc-gen-cruxclient/generated/routeguide/v1/message.djinni.yaml @@ -168,8 +168,8 @@ objcpp: translator: 'djinni::routeguide::v1::RouteSummary::Details::Translator' header: '"routeguide/v1/message.djinni.objc.h"' java: - typename: 'io.grpc.examples.routeguide.RouteSummary_Details' - boxed: 'io.grpc.examples.routeguide.RouteSummary_Details' + typename: 'io.grpc.examples.routeguide.RouteSummary$Details' + boxed: 'io.grpc.examples.routeguide.RouteSummary$Details' reference: true generic: false hash: '%s.hashCode()' @@ -177,7 +177,7 @@ jni: translator: 'djinni::routeguide::v1::RouteSummary::Details::Translator' header: '"routeguide/v1/message.djinni.jni.h"' typename: jobject - typeSignature: 'Lio/grpc/examples/routeguide/RouteSummary_Details;' + typeSignature: 'Lio/grpc/examples/routeguide/RouteSummary$Details;' --- name: pb_RouteSummary_Details_MoreDetails @@ -198,8 +198,8 @@ objcpp: translator: 'djinni::routeguide::v1::RouteSummary::Details::MoreDetails::Translator' header: '"routeguide/v1/message.djinni.objc.h"' java: - typename: 'io.grpc.examples.routeguide.RouteSummary_Details_MoreDetails' - boxed: 'io.grpc.examples.routeguide.RouteSummary_Details_MoreDetails' + typename: 'io.grpc.examples.routeguide.RouteSummary$Details$MoreDetails' + boxed: 'io.grpc.examples.routeguide.RouteSummary$Details$MoreDetails' reference: true generic: false hash: '%s.hashCode()' @@ -207,5 +207,5 @@ jni: translator: 'djinni::routeguide::v1::RouteSummary::Details::MoreDetails::Translator' header: '"routeguide/v1/message.djinni.jni.h"' typename: jobject - typeSignature: 'Lio/grpc/examples/routeguide/RouteSummary_Details_MoreDetails;' + typeSignature: 'Lio/grpc/examples/routeguide/RouteSummary$Details$MoreDetails;'