diff --git a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/MessageConstructorCallWriter.kt b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/MessageConstructorCallWriter.kt index 7853c9dd..20ba0216 100644 --- a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/MessageConstructorCallWriter.kt +++ b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/MessageConstructorCallWriter.kt @@ -20,6 +20,7 @@ object MessageConstructorCallWriter { fun getConstructorCallCode( message: ProtoMessage, type: ConstructorType, + useMemberImport: Boolean, getFieldParameter: (ProtoMessageField) -> CodeBlock, getMapFieldParameter: (ProtoMapField) -> CodeBlock, getOneOfFieldParameter: (ProtoOneOf) -> CodeBlock, @@ -32,8 +33,13 @@ object MessageConstructorCallWriter { when (type) { ConstructorType.DIRECT -> add("%T(", message.className) - ConstructorType.BUILD -> add("%M(", companion.member("invoke")) - ConstructorType.BUILD_PARTIAL -> add("%M(", companion.member("createPartial")) + ConstructorType.BUILD -> + if (useMemberImport) add("%M(", companion.member("invoke")) + else add("%N(", "invoke") + + ConstructorType.BUILD_PARTIAL -> + if (useMemberImport) add("%M(", companion.member("createPartial")) + else add ("%N(", "createPartial") } add("\n") diff --git a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/dsl/ActualProtoDslWriter.kt b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/dsl/ActualProtoDslWriter.kt index 6b5f089d..96d28c90 100644 --- a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/dsl/ActualProtoDslWriter.kt +++ b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/dsl/ActualProtoDslWriter.kt @@ -17,6 +17,7 @@ object ActualProtoDslWriter : ProtoDslWriter(true) { addCode( MessageConstructorCallWriter.getConstructorCallCode( message = message, + useMemberImport = true, type = MessageConstructorCallWriter.ConstructorType.BUILD_PARTIAL, getFieldParameter = { field -> if (field.isConstructorParameterNullable(ProtoMessageField.ConstructorParameterType.CREATE_PARTIAL)) { diff --git a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/FieldPropertyConstructorExtension.kt b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/FieldPropertyConstructorExtension.kt index ed06c15f..62d65dd1 100644 --- a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/FieldPropertyConstructorExtension.kt +++ b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/FieldPropertyConstructorExtension.kt @@ -91,6 +91,7 @@ object FieldPropertyConstructorExtension : MessageWriterExtension { addCode( MessageConstructorCallWriter.getConstructorCallCode( message = message, + useMemberImport = true, type = MessageConstructorCallWriter.ConstructorType.DIRECT, getFieldParameter = { field -> CodeBlock.of("%N", field.codeName) }, getMapFieldParameter = { field -> CodeBlock.of("%N", field.codeName) }, diff --git a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/serialization/DeserializationFunctionExtension.kt b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/serialization/DeserializationFunctionExtension.kt index c28868ca..27a27e0d 100644 --- a/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/serialization/DeserializationFunctionExtension.kt +++ b/kmp-grpc-plugin/src/main/java/io/github/timortel/kmpgrpc/plugin/sourcegeneration/generators/protofile/message/extensions/serialization/DeserializationFunctionExtension.kt @@ -370,6 +370,7 @@ class DeserializationFunctionExtension : BaseSerializationExtension() { addCode( MessageConstructorCallWriter.getConstructorCallCode( message = message, + useMemberImport = false, type = MessageConstructorCallWriter.ConstructorType.BUILD_PARTIAL, getFieldParameter = { CodeBlock.of("%N", it.codeName) }, getMapFieldParameter = { CodeBlock.of("%N", it.codeName) },