codemaker/source/rustmaker/cpproduce.cxx   |    6 +-
 codemaker/source/rustmaker/cpproduce.hxx   |   10 ++--
 codemaker/source/rustmaker/rustproduce.cxx |   12 ++---
 codemaker/source/rustmaker/rustproduce.hxx |   60 +++++++++++++++--------------
 4 files changed, 47 insertions(+), 41 deletions(-)

New commits:
commit 5429ad357b8ce98ad7114f108cbef3c00be550fb
Author:     Stephan Bergmann <[email protected]>
AuthorDate: Wed Oct 29 20:54:43 2025 +0100
Commit:     Stephan Bergmann <[email protected]>
CommitDate: Wed Oct 29 22:37:20 2025 +0100

    Fix loplugin warnings in --enable-rust-uno code
    
    ...an assortment of loplugin:staticmethods, loplugin:stringadd, and
    loplugin:stringviewparam
    
    Change-Id: Iaa62c0162014a31de7d1f910199f241747f2feea
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193167
    Reviewed-by: Stephan Bergmann <[email protected]>
    Tested-by: Jenkins

diff --git a/codemaker/source/rustmaker/cpproduce.cxx 
b/codemaker/source/rustmaker/cpproduce.cxx
index 397b82f0ac38..e081f35ae504 100644
--- a/codemaker/source/rustmaker/cpproduce.cxx
+++ b/codemaker/source/rustmaker/cpproduce.cxx
@@ -2311,7 +2311,7 @@ OString CppProducer::getCppTypeName(std::u16string_view 
unoType) const
 
 OString CppProducer::getTypedParameterType(
     std::u16string_view unoType,
-    unoidl::InterfaceTypeEntity::Method::Parameter::Direction direction) const
+    unoidl::InterfaceTypeEntity::Method::Parameter::Direction direction)
 {
     // Handle string types with typed parameters
     if (unoType == u"string")
@@ -2377,7 +2377,7 @@ OString CppProducer::getTypedParameterType(
     return "void*"_ostr;
 }
 
-OString CppProducer::getStructGetterReturnType(std::u16string_view unoType) 
const
+OString CppProducer::getStructGetterReturnType(std::u16string_view unoType)
 {
     // Struct getters return a pointer to the member data (like output 
parameters)
     // Use the same logic as getTypedParameterType with direction = OUT
@@ -2411,7 +2411,7 @@ OString 
CppProducer::getStructGetterReturnType(std::u16string_view unoType) cons
     return "void*"_ostr;
 }
 
-OString CppProducer::getStructSetterParameterType(std::u16string_view unoType) 
const
+OString CppProducer::getStructSetterParameterType(std::u16string_view unoType)
 {
     // Struct setters take the value to set (like input parameters)
     // Use the same logic as getTypedParameterType with direction = IN
diff --git a/codemaker/source/rustmaker/cpproduce.hxx 
b/codemaker/source/rustmaker/cpproduce.hxx
index 9d343109d41c..e71ee1a607bc 100644
--- a/codemaker/source/rustmaker/cpproduce.hxx
+++ b/codemaker/source/rustmaker/cpproduce.hxx
@@ -149,11 +149,11 @@ private:
     OString convertUnoTypeToCpp(std::u16string_view unoType) const;
     std::string convertTemplateArguments(const std::string& unoType) const;
     OString getCppTypeName(std::u16string_view unoType) const;
-    OString getTypedParameterType(
-        std::u16string_view unoType,
-        unoidl::InterfaceTypeEntity::Method::Parameter::Direction direction) 
const;
-    OString getStructGetterReturnType(std::u16string_view unoType) const;
-    OString getStructSetterParameterType(std::u16string_view unoType) const;
+    static OString
+    getTypedParameterType(std::u16string_view unoType,
+                          
unoidl::InterfaceTypeEntity::Method::Parameter::Direction direction);
+    static OString getStructGetterReturnType(std::u16string_view unoType);
+    static OString getStructSetterParameterType(std::u16string_view unoType);
     OString getRustFFITypeName(std::u16string_view unoType) const;
     static OString mapUnoPrimitiveToSal(std::u16string_view unoType);
     OUString resolveTypedef(std::u16string_view unoType) const;
diff --git a/codemaker/source/rustmaker/rustproduce.cxx 
b/codemaker/source/rustmaker/rustproduce.cxx
index 22539fd834fb..968ae42f8f82 100644
--- a/codemaker/source/rustmaker/rustproduce.cxx
+++ b/codemaker/source/rustmaker/rustproduce.cxx
@@ -1191,7 +1191,7 @@ void RustProducer::generateServiceCreateMethod(
         .endBlock();
 }
 
-OString RustProducer::generateServiceInterfaceModulePath(const OUString& 
interfaceType)
+OString RustProducer::generateServiceInterfaceModulePath(std::u16string_view 
interfaceType)
 {
     // Generate proper module path for the interface
     OString interfaceTypeStr = u2b(interfaceType);
@@ -1225,7 +1225,7 @@ void RustProducer::generateServiceExternDeclarations(
         .endBlock();
 }
 
-bool RustProducer::generateTypeCastReturn(RustFile& file, std::string_view 
resolvedType) const
+bool RustProducer::generateTypeCastReturn(RustFile& file, std::string_view 
resolvedType)
 {
     if (resolvedType == "boolean")
     {
@@ -1741,7 +1741,7 @@ OString RustProducer::convertRustParameterForFFICall(
         if (isInputOnly)
         {
             // Input string: convert OUString to rtl_uString* using .as_ptr()
-            return OString(paramName) + ".as_ptr()";
+            return OString::Concat(paramName) + ".as_ptr()";
         }
         else
         {
@@ -1758,7 +1758,7 @@ OString RustProducer::convertRustParameterForFFICall(
         if (isInputOnly)
         {
             // Input any: convert Any to uno_Any* using .as_ptr()
-            return OString(paramName) + ".as_ptr()";
+            return OString::Concat(paramName) + ".as_ptr()";
         }
         else
         {
@@ -1775,7 +1775,7 @@ OString RustProducer::convertRustParameterForFFICall(
         if (isInputOnly)
         {
             // Input struct: convert generated struct to void* using .as_ptr()
-            return OString(paramName) + ".as_ptr()";
+            return OString::Concat(paramName) + ".as_ptr()";
         }
         else
         {
@@ -1792,7 +1792,7 @@ OString RustProducer::convertRustParameterForFFICall(
         if (isInputOnly)
         {
             // Input interface: convert generated interface to void* using 
.as_ptr()
-            return OString(paramName) + ".as_ptr()";
+            return OString::Concat(paramName) + ".as_ptr()";
         }
         else
         {
diff --git a/codemaker/source/rustmaker/rustproduce.hxx 
b/codemaker/source/rustmaker/rustproduce.hxx
index 6208f5c3bae0..6b6c4042e294 100644
--- a/codemaker/source/rustmaker/rustproduce.hxx
+++ b/codemaker/source/rustmaker/rustproduce.hxx
@@ -104,19 +104,21 @@ private:
     bool isUnoEnum(std::u16string_view typeName) const;
 
     // Enum generation helpers (following CppProducer pattern)
-    void generateEnumDefinition(class RustFile& file, std::string_view name,
-                                const rtl::Reference<unoidl::EnumTypeEntity>& 
entity);
-    void generateEnumImplementation(class RustFile& file, std::string_view 
name);
-    void generateEnumExternDeclarations(class RustFile& file, std::string_view 
name);
+    static void generateEnumDefinition(class RustFile& file, std::string_view 
name,
+                                       const 
rtl::Reference<unoidl::EnumTypeEntity>& entity);
+    static void generateEnumImplementation(class RustFile& file, 
std::string_view name);
+    static void generateEnumExternDeclarations(class RustFile& file, 
std::string_view name);
 
     // Struct generation helpers (following CppProducer pattern)
-    void generateStructDefinition(class RustFile& file, std::string_view name,
-                                  const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity);
+    static void
+    generateStructDefinition(class RustFile& file, std::string_view name,
+                             const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity);
     void generateStructImplementation(class RustFile& file, std::string_view 
name,
                                       const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity);
-    void generateStructConstructor(class RustFile& file, std::string_view 
externFunctionPrefix);
-    void generateStructFromPtr(class RustFile& file, std::string_view 
externFunctionPrefix);
-    void generateStructAsPtr(class RustFile& file);
+    static void generateStructConstructor(class RustFile& file,
+                                          std::string_view 
externFunctionPrefix);
+    static void generateStructFromPtr(class RustFile& file, std::string_view 
externFunctionPrefix);
+    static void generateStructAsPtr(class RustFile& file);
     void generateStructAccessors(class RustFile& file,
                                  const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity,
                                  std::string_view externFunctionPrefix);
@@ -126,13 +128,14 @@ private:
     void generateStructMemberSetter(class RustFile& file, std::string_view 
memberName,
                                     std::u16string_view memberType,
                                     std::string_view externFunctionPrefix);
-    void generateStructDropTrait(class RustFile& file, std::string_view name,
-                                 const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity);
+    static void
+    generateStructDropTrait(class RustFile& file, std::string_view name,
+                            const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity);
     void
     generateStructExternDeclarations(class RustFile& file, std::string_view 
name,
                                      const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity);
-    void generateStructBasicExternDeclarations(class RustFile& file,
-                                               std::string_view 
externFunctionPrefix);
+    static void generateStructBasicExternDeclarations(class RustFile& file,
+                                                      std::string_view 
externFunctionPrefix);
     void generateStructMemberExternDeclarations(
         class RustFile& file, const 
rtl::Reference<unoidl::PlainStructTypeEntity>& entity,
         std::string_view externFunctionPrefix);
@@ -147,35 +150,38 @@ private:
     void generateInterfaceImplementation(class RustFile& file, 
std::string_view typeName,
                                          std::string_view externFunctionPrefix,
                                          const 
rtl::Reference<unoidl::InterfaceTypeEntity>& entity);
-    void generateInterfaceConstructor(class RustFile& file, std::string_view 
externFunctionPrefix);
-    void generateInterfaceFromPtr(class RustFile& file, std::string_view 
externFunctionPrefix);
-    void generateInterfaceAsPtr(class RustFile& file);
-    void generateInterfaceValidityCheck(class RustFile& file, std::string_view 
externFunctionPrefix,
-                                        const 
rtl::Reference<unoidl::InterfaceTypeEntity>& entity);
+    static void generateInterfaceConstructor(class RustFile& file,
+                                             std::string_view 
externFunctionPrefix);
+    static void generateInterfaceFromPtr(class RustFile& file,
+                                         std::string_view 
externFunctionPrefix);
+    static void generateInterfaceAsPtr(class RustFile& file);
+    static void
+    generateInterfaceValidityCheck(class RustFile& file, std::string_view 
externFunctionPrefix,
+                                   const 
rtl::Reference<unoidl::InterfaceTypeEntity>& entity);
     void generateInterfaceMethodWrappers(class RustFile& file,
                                          std::string_view externFunctionPrefix,
                                          const 
rtl::Reference<unoidl::InterfaceTypeEntity>& entity);
-    void generateInterfaceDropTrait(class RustFile& file, std::string_view 
typeName,
-                                    std::string_view externFunctionPrefix);
-    void generateInterfaceThreadSafety(class RustFile& file, std::string_view 
typeName);
+    static void generateInterfaceDropTrait(class RustFile& file, 
std::string_view typeName,
+                                           std::string_view 
externFunctionPrefix);
+    static void generateInterfaceThreadSafety(class RustFile& file, 
std::string_view typeName);
 
     // Service generation helpers (following CppProducer pattern)
-    void generateServiceDefinition(
+    static void generateServiceDefinition(
         class RustFile& file, std::string_view name,
         const rtl::Reference<unoidl::SingleInterfaceBasedServiceEntity>& 
entity);
-    void generateServiceImplementation(
+    static void generateServiceImplementation(
         class RustFile& file, std::string_view name,
         const rtl::Reference<unoidl::SingleInterfaceBasedServiceEntity>& 
entity);
-    void generateServiceCreateMethod(
+    static void generateServiceCreateMethod(
         class RustFile& file, std::string_view name,
         const rtl::Reference<unoidl::SingleInterfaceBasedServiceEntity>& 
entity);
-    OString generateServiceInterfaceModulePath(const OUString& interfaceType);
-    void generateServiceExternDeclarations(
+    static OString generateServiceInterfaceModulePath(std::u16string_view 
interfaceType);
+    static void generateServiceExternDeclarations(
         class RustFile& file, std::string_view name,
         const rtl::Reference<unoidl::SingleInterfaceBasedServiceEntity>& 
entity);
 
     // Type casting helpers
-    bool generateTypeCastReturn(class RustFile& file, std::string_view 
resolvedType) const;
+    static bool generateTypeCastReturn(class RustFile& file, std::string_view 
resolvedType);
 };
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Reply via email to