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: */
