summaryrefslogtreecommitdiff
path: root/codemaker
AgeCommit message (Collapse)AuthorFilesLines
2024-11-08loplugin:reftotemp in codemaker..connectivityNoel Grandin1-2/+2
Change-Id: I9da2976410f7c4da8ab0d85150fc87f2b3df9e0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176275 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-14cid#1554844 COPY_INSTEAD_OF_MOVECaolán McNamara1-1/+1
and cid#1554878 COPY_INSTEAD_OF_MOVE cid#1554907 COPY_INSTEAD_OF_MOVE cid#1555082 COPY_INSTEAD_OF_MOVE cid#1555224 COPY_INSTEAD_OF_MOVE cid#1555301 COPY_INSTEAD_OF_MOVE cid#1555378 COPY_INSTEAD_OF_MOVE cid#1555395 COPY_INSTEAD_OF_MOVE cid#1555452 COPY_INSTEAD_OF_MOVE cid#1555466 COPY_INSTEAD_OF_MOVE cid#1555514 COPY_INSTEAD_OF_MOVE cid#1555566 COPY_INSTEAD_OF_MOVE cid#1555753 COPY_INSTEAD_OF_MOVE cid#1555782 COPY_INSTEAD_OF_MOVE cid#1555825 COPY_INSTEAD_OF_MOVE cid#1555842 COPY_INSTEAD_OF_MOVE cid#1555891 COPY_INSTEAD_OF_MOVE cid#1555917 COPY_INSTEAD_OF_MOVE cid#1555961 COPY_INSTEAD_OF_MOVE cid#1556021 COPY_INSTEAD_OF_MOVE cid#1556055 COPY_INSTEAD_OF_MOVE cid#1556307 COPY_INSTEAD_OF_MOVE cid#1556349 COPY_INSTEAD_OF_MOVE cid#1556436 COPY_INSTEAD_OF_MOVE cid#1556665 COPY_INSTEAD_OF_MOVE cid#1556696 COPY_INSTEAD_OF_MOVE cid#1556718 COPY_INSTEAD_OF_MOVE cid#1556775 COPY_INSTEAD_OF_MOVE cid#1556835 COPY_INSTEAD_OF_MOVE cid#1556877 COPY_INSTEAD_OF_MOVE cid#1556994 COPY_INSTEAD_OF_MOVE cid#1557010 COPY_INSTEAD_OF_MOVE cid#1557074 COPY_INSTEAD_OF_MOVE cid#1557111 COPY_INSTEAD_OF_MOVE cid#1557142 COPY_INSTEAD_OF_MOVE cid#1557163 COPY_INSTEAD_OF_MOVE cid#1557164 COPY_INSTEAD_OF_MOVE cid#1557214 COPY_INSTEAD_OF_MOVE cid#1557254 COPY_INSTEAD_OF_MOVE cid#1557322 COPY_INSTEAD_OF_MOVE cid#1557327 COPY_INSTEAD_OF_MOVE cid#1557492 COPY_INSTEAD_OF_MOVE cid#1557565 COPY_INSTEAD_OF_MOVE cid#1557663 COPY_INSTEAD_OF_MOVE cid#1557798 COPY_INSTEAD_OF_MOVE Change-Id: I2ae9c184dcc18d44a65437e18c49e16b27f4d81d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174893 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-29Add "f" suffix to literals of type floatStephan Bergmann1-1/+1
...to avoid > error CS0266: Cannot implicitly convert type 'double' to 'float'. An explicit conversion exists (are you missing a cast?) (as would e.g. happen if offapi/org/libreoffice/embindtest/Constants.idl were included in regular builds) Change-Id: I6a4d8b151755edd3a8b03d73e2bb546cf1d19e7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174200 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-09-23cid#1607989 Overflowed constantCaolán McNamara1-1/+2
and cid#1607976 Overflowed constant cid#1607855 Overflowed constant cid#1607731 Overflowed constant Change-Id: I18e8ffb8a9b5a55e0ecb71862549a94ff5c2fc1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173781 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-09-18.NET Bindings: Native bridge for .NETRMZeroFour1-22/+82
This patch includes all marshalling and proxy handling code on the .NET side as well as the native side needed for a fully functional UNO bridge. It also includes some changes and corrections to net_basetypes and netmaker needed for the bridge to work properly. It also includes the FirstUnoContact example in C# as demonstration. Change-Id: I406932938a4415d24408fb41ddfa7d8eeb5d1f94 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170916 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-09-17cid#1608561 Overflowed constantCaolán McNamara1-1/+2
Change-Id: I3115263da1c76f635d544e41c3cf96e068b34324 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173543 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-22Avoid slicing in operator==Mike Kaganski1-2/+2
Change-Id: I6f0f1b67dee717d9fa16f4ae9e7b6441d7c5002b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172197 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-14.NET Bindings: Fix netmaker and net_basetypesRMZeroFour1-17/+19
This commit makes a few misc. fixes to netmaker and net_basetypes - Renamed css.uno.Exception to css.uno.UnoException to avoid name conflicts with System.Exception - Added a new css.uno.Any constructor and setValue function that deduces the type of the any from given object at runtime - Changed the AnyTests unit tests to match changes made to css.uno.Any - Removed the in keyword from UNO 'in' parameters. Was a premature optimisation that might have a negative effect for certain types. - Generated struct and exception field members were not marked public earlier by accident, fixed. - Generted struct and exception constructors had parameters in order opposite to expected, fixed. - Generated services tried to instantiate the interface, not the service earlier, fixed. Change-Id: Ia63f9db469db13a5d01617617095b8f568b39c72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171706 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-08-01tdf#162279: Base Forms: details of the warning only on debug modeJulien Nabet1-1/+1
As Mike noticed, the pb is more general than just Base forms. So here's the general fix suggested by Mike (thank you for the help!) Change-Id: Ic57039c9c37f26d2ea2d0e0bda89f277ba7044cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171337 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-07-26cid#1608295 silence Untrusted loop boundCaolán McNamara1-0/+1
Change-Id: I925f4a73118fbf81a48b32a096bdddf194148120 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171057 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-25O[U]String overloads that return view for rest parameterNoel Grandin1-2/+3
Add new overloads to OUString methods that have a "OUString* rest" style parameter. Instead return a view, which does not require allocation. To avoid overload ambiguity, split the methods into different variants that do not use default parameters. Change-Id: I1aa366115750f1f7ea4fe665804195f59f7c4b69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167632 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-07-20Remove now unneeded osl/diagnose.hGabor Kelemen1-0/+1
followup to commit 57c228803e55ed343c6693de7d0857ad7d3cd9e3 Change-Id: Iebfb23bb65e2bf898bf27f367cc9641f47a14cf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167998 Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins
2024-07-01cid#1604129 Uninitialized scalar fieldCaolán McNamara1-0/+2
Change-Id: Id75a73a8fc4cb06bdc1cbccab8921e1794e13382 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169789 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-19Fix typoAndrea Gelmini1-1/+1
Change-Id: I517be535c68037fb92a44ed52f59be115fcef129 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169225 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-19.NET Bindings: Add netmaker (.NET codemaker)RMZeroFour9-1/+1630
This commit adds the netmaker executable to the codemaker/ module, to generate C# code from UNOIDL specifications. Also adds some Makefiles in the net_ure/ directory to generate code for udkapi and offapi, to build the net_uretypes and net_oootypes assemblies. Change-Id: Ifb61fe6a0f8f594eaa6ff95b025ba57f247b0d4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168710 Tested-by: Jenkins Tested-by: Hossein <hossein@libreoffice.org> Reviewed-by: Hossein <hossein@libreoffice.org>
2024-04-30WaE: C6011 Dereferencing NULL pointer warningsCaolán McNamara1-1/+1
convert OSL_ASSERT to assert Change-Id: I047b5987734c14e05c9be89db297749c36a0a26f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166922 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-26loplugin:ostr in codemaker,unoidlNoel Grandin7-98/+98
Change-Id: I75f5531023f31da029491ce4a078005eebbfe59e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166738 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-03-05map SAL_DLLPUBLIC_RTTI to visibility:default for gccNoel Grandin1-0/+4
Because I want to make more symbols private, but that runs into a problem with the special symbol "typeinfo for Foo" which is required for dynamic_cast. For clang, we can use SAL_DLLPUBLIC_RTTI to make just that magic "typeinfo for Foo" symbol visible. But for gcc, we are left with no option but to make the whole class visible via <MODULE>_DLLPUBLIC. (I have a feature request logged against gcc to support something like that at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113958) But I also don't want to use <MODULE>_DLLPUBLIC, since that blocks progress of reducing symbol visibility for platforms other than gcc. So map SAL_DLLPUBLIC_RTTI to visiblity:default for gcc, which means that only gcc suffers the negative affects of not having that annotation. However, that runs into the problem that gcc does not like visibility:default in a couple of places, so I have to introduce some extra preprocessor stuff. Change-Id: Ib4fc5c1d2a1f8cf87d5159a4b5684137ec061605 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164356 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-21Extract embindmaker from cppumaker into its own toolStephan Bergmann5-241/+1
...that directly generates one large .cxx Change-Id: I046539b83f8fde5eda7168c93a8b819137399665 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162343 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-19cppumaker: Work around problematic constant named "auto"Stephan Bergmann2-121/+126
...which had been added all the way back in 2002 with 6cd0bbd8ce6ae2774fc61dacc0f81725ba038d79 "adding new file to HEAD" to constants group css.drawing.CaptionEscapeDirection, which has meanwhile been published, so no chance of cleaning that up. But cppumaker already has a mechanism to work around problematic UNOIDL identifiers, but which was only used for "new-style" entities when they got introduced, mainly to avoid compatibility issues when retroactively changing the code generated for existing entities. But for C++ keywords, the generated code was always broken, so no harm in fixing it, so introduce an additional IdentifierTranslateMode::KeywordsOnly and use that at least for constants, to address the immediate issue. (And with that, a hack can be removed from gb_UnoApiEmbindTarget__add_embind.) Change-Id: I5cf62fd8b3b298dff2ec28452fb97b424a4ba473 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162305 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-19Clean up generated embind code a bitStephan Bergmann1-8/+5
For one, no need to wrap in #ifdef EMSCRIPTEN code that is only ever fed into emcc anyway. For another, better use fully qualified names throughout generated code, to avoid unexpected collisions. Change-Id: I939728c7e0601e5fb3f3634bbd62f35042d91105 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162266 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-15loplugin:unnecessaryvirtualNoel Grandin1-1/+1
Change-Id: I14ee125874b6f0f1ff5406a3eafea0b19df1a7f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162082 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-07cid#1546503 Using invalid iteratorCaolán McNamara1-1/+3
and cid#1546284 Using invalid iterator cid#1546275 Using invalid iterator cid#1546049 Using invalid iterator cid#1545929 Using invalid iterator cid#1545870 Using invalid iterator cid#1545668 Using invalid iterator cid#1545420 Using invalid iterator Change-Id: I3ad3000631b4be5917b9c5f49f21b8cc003a309c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159056 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-04cid#1545597 Using invalid iteratorJulien Nabet1-2/+6
and : cid#1545537 Using invalid iterator cid#1545508 Using invalid iterator cid#1545494 Using invalid iterator cid#1545478 Using invalid iterator cid#1545427 Using invalid iterator cid#1545420 Using invalid iterator cid#1545400 Using invalid iterator cid#1545300 Using invalid iterator cid#1545258 Using invalid iterator cid#1545257 Using invalid iterator cid#1545200 Using invalid iterator cid#1545183 Using invalid iterator Change-Id: Ibf3a41902f34286967195c5c3b22e337a4b06809 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160322 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-30Extended loplugin:ostr: codemakerStephan Bergmann1-5/+5
Change-Id: I7addfbde8ee8603eb8ca692debb2ac369347c6c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160127 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-11-20Extended loplugin:ostr: codemakerStephan Bergmann10-300/+300
Change-Id: I7a8eddee0ecf7ab38cc356c157e9832b715da4c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159724 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-13Follow-up on "Make sure __cpp_lib_source_location is consistently defined"Stephan Bergmann1-0/+3
(113e064117b2632974a696b950634229d70c5b96). Mike pointed out that I forgot to fix the generated code and that "https://en.cppreference.com/w/cpp/compiler_support/20 lists <version> as supported since gcc libstdc++ 9, and README.md requires libstdc++ 8.5." Change-Id: Ic7477e39e334735c4a563195fee335a599a0ef79 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157933 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-12use std::source_location instead of std::experimental::source_locationNoel Grandin1-9/+12
https://en.cppreference.com/w/cpp/compiler_support says that this is supported in GCC >= 11 CLANG >= 16 Visual Studio >= VS 2019 16.10 And our Visual Studio baseline is now 2019. We still need to make the ifdef conditional check clang, because __has_include will happily return true even if the current clang does not support the necessary builtins. Change-Id: I5f2743e204b8ed22d4651053f3ae579a4a192a45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157515 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-09-26WASM: Embind: get rid of redundant EMSCRIPTEN conditionalSarper Akdemir1-6/+3
As suggested by Stephan Bergmann in https://gerrit.libreoffice.org/c/core/+/156273/comments/4087f8b8_8ab9a1bc It appears whole thing was redundant since the template specialization of emscripten::internal::raw_destructor in codemaker/source/cppumaker/cpputype.cxx:1228. Likely this bit causes memory leaks when the API is used and it is a temporary workaround. Change-Id: Ifb015754f16ddff1065b3285268acf8a339f975b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157234 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-09-24Drop some newly obsolete __clang_major__ version checksStephan Bergmann1-4/+2
...after 6ef2d358ac053ce0f6de9cf0f8f25e8bae66d441 "Adapt Clang and GCC minimum version checks" Change-Id: Ib25fbb76211d1bda1d230de771f207960e645421 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157204 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-09-18JavaScript uno bindings for WASM with Embind - first cutSarper Akdemir7-23/+295
A rough implementation of uno bindings for LOWA using embind. Adds new parameter '-W' to cppumaker to generate _embind.cxx files alongside .hdl & .hpp. For usage examples see static/README.wasm.md Change-Id: Iee5d05e37bfba8e101c08212b15c05f7f2fa6c33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156273 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-09-18Use less zlib external headers dependencyGabor Kelemen2-2/+0
Change-Id: Ibcc7f37e464cde44cfbb6fbd70c3dc66667102bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156553 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-03-24loplugin:stringadd in c*Noel Grandin1-2/+1
after my patch to merge the bufferadd loplugin into stringadd Change-Id: I66f4ce2fd87c1e12eefb14406e0e17212f68ceff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149497 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-22Introduce css.reflection.Dump singletonStephan Bergmann1-159/+0
...and revert e1c6f36d8bcc0799281e3a7e244175f682d97cb2 "Add a to_string() function to the code generated for UNO IDL constant groups". (But keep the constants groups the latter had added to cppu/qa/cppumaker/types.idl, and use them in the newly added CppunitTest_stoc_dump, for better or worse.) Change-Id: I56e9eaeb1e45b83a72a25eceef13e719dc6f3a1e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149281 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Jenkins
2023-03-17Add a to_string() function to the code generated for UNO IDL constant groupsTor Lillqvist1-0/+159
If the inpt matches one of the constants exactly, the result is the name of that constant. If the input matches some combination of constant values that are single bits, the result is the sequence of the names of those constants joined with plus signs. For instance, if the IDL has: constants Constants { const byte BIT0 = 1; const byte BIT1 = 2; const byte BIT2 = 4; const byte BIT3 = 8; } The result of Constants::to_string(5) is "BIT0+BIT2", and the result of Constants::to_string(17) is "17". I am sure there are corner cases that aren't handled as would be intuitive, especially with types that include unsigned values. Correspondingly, the semantics of the generated to_string() functions is not formally defined. Also add a unit test for the new functionality. Change-Id: I14aa826d0989ac6dfe97dd5c09119b1601c65643 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148995 Tested-by: Jenkins Reviewed-by: Tor Lillqvist <tml@collabora.com>
2022-12-05Make check for complete type more explicitStephan Bergmann1-1/+1
When 485c9d4f0e59e13e772da8f8a7975f0ddd77c33e "Clarify the use of untools::WeakReference" introduced cppu::detail::isUnoInterfaceType and its use in the requires-clause of unotools::WeakReference::get, its commit message argued that while isUnoInterfaceType only works if the given type is complete, that would already be taken care of via the use of std::is_convertible_v in the implementation of unotools::WeakReference::get. But while std::is_convertible_v nominally requires its argument types to be complete (unless they are void, or arrays of unknown bound), typical implementations like recent libc++ or libstdc++ do not seem to enforce that (and just return false in such a case). So better make isUnoInterfaceType explicitly require that the given type is complete. Which turned up one case where it isn't at the point where unotools::WeakReference<SdrTextObj>::get is called. (And while the resulting call to dynamic_cast<SdrTextObj*>(...) in the implementation of that function would cause an error when SdrTextObj is not complete, compilers happened to instantiate that template specialization only at the end of the TU, by which time SdrTextObj happened to be a complete type in the TUs including that sd/source/ui/inc/futext.hxx. So all happened to work out OK.) Change-Id: I704b8b437fa836e290245d1727e4d356128ef63c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143667 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-03Clarify the use of untools::WeakReferenceStephan Bergmann1-2/+10
...which had been introduced in 78040af9acea0ab681aa54ff23844b647bc9b4f3 "loplugin:refcounting in sc" as a variation on css::uno::WeakReference from include/cppuhelper/weakref.hxx, but without giving much of a rationale. And, at least for --with-latest-c++ builds using a capable C++20 compiler, ensure that the given interface_type is such that the static_cast and dynamic_cast in the implementation of unotools::WeakReference::get are actually sound: If interface_type could be a UNO interface type, that would imply that the xInterface obtained from the underlying WeakReferenceHelper::get() could be a proxy from the C++ UNO bridge, which could (a) be a proxy for only a subtype of interface_type (e.g., just for XInterface), so that the static_cast would be broken, and (b) be a proxy for which the vtable's RTTI slot is not set up (see e.g. the ENABLE_RUNTIME_OPTIMIZATIONS code in bridges::cpp_uno::shared::VtableFactory::initializeBlock in bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx), so that the dynamic_cast could crash. (These issues can even happen when the given interface_type is a C++ implementation class type, but the given object has been bridged over some C++ to C++ UNO ("purpose") bridge, but lets leave it at that...) This required adding some cppu::detail::isUnoInterfaceType predicate to the include files generated by cppumaker, which can be useful in other places too. (For the call to isUnoInterfaceType in the requires-clause of unotools::WeakReference<interface_type>::get to give the correct answer, it is important that interface_type is a complete type---i.e., the corresponding codemaker-generated .hpp having been included if interface_type actually were a UNO include type. But that is already nicely required by the call to std::is_convertible_v in the implementation of that function, anyway.) Change-Id: Ia5efd70085d2d6d45fa0995d00dc8def564bbe5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143601 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-06-13Drop obsolete preprocessor directives from UNOIDL filesStephan Bergmann2-10/+0
...which were used by ildc, which is gone since a8485d558fab53291e2530fd9a1be581c1628deb "[API CHANGE] Remove deprecated idlc and regmerge from the SDK", and have always been ignored as legacy by its unoidl-write replacement. This change has been carried out (making use of GNU sed extensions) with > for i in $(git ls-files \*.idl); do sed -i -z -E -e 's/\n\n((#[^\n]*\n)+\n)*(#[^\n]*\n)+\n?/\n\n/g' -e 's/\n(#[^\n]*\n)+/\n/g' "$i"; done && git checkout extensions/source/activex/so_activex.idl odk/examples/OLE/activex/so_activex.idl which apparently happened to do the work. (The final two files are not UNOIDL source files.) Change-Id: Ic9369e05d46e8f7e8a304ab01740b171b92335cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135683 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-18clang-tidy modernize-pass-by-value in codemakerNoel Grandin4-30/+31
Change-Id: I2bd9c4c8ced5f0edb9dbf560fe0ed126b9233c26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134519 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-29Revert "use more string_view in codemaker"Noel Grandin3-12/+12
This reverts commit 9463550eabd0455c374c1369bc72388108baccad. Reason for revert: The codemaker::UnoType::decompose was previously mostly returning the same OString it receives, so this change is likely a pessimisation Change-Id: Ie1b41889d0a6af9247b8683075d4edd1163fecc8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133492 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-27use more string_view in codemakerNoel Grandin3-12/+12
Change-Id: If311f5600bd61387cc709065978306c21360dea8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133509 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-22address review comments on "use more string in unoidl.."Noel Grandin1-4/+4
on commit 2d9291b9433c9645b0870525211f74bfb1151555 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Thu Apr 21 12:53:15 2022 +0200 use more string_view in unoidl,codemaker Primarily reverting the findEntity call-chain to use OUString instead of std::u16string_view. Change-Id: Ib01b9473c859bba3791563df753823bbf0a87ce0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133302 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-21use more string_view in unoidl,codemakerNoel Grandin1-4/+4
Change-Id: Ibc0624a662c98ef1308a3bb0c7c082935a89a25c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133252 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-17loplugin:stringviewparam convert methods using copy()Noel Grandin1-6/+11
which converts to std::string_view::substr() Change-Id: I3f42213b41a97e77ddcc79d84d512f49d68ca559 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132729 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-10loplugin:stringview check for getToken and trimNoel Grandin2-2/+4
since we now have o3tl versions of those that work on string_view. Also improve those o3tl functions to support both string_view and u16string_view Change-Id: Iacab2996becec62aa78a5597c52d983bb784749a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132755 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-09add a more complete o3tl::getTokenNoel Grandin4-15/+18
so we avoid OUString copying (mostly when doing stuff like parsing numbers of out of strings) Change-Id: I4ef6ac23671c0b40807a22158e655e92dfad4af6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132730 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-02loplugin:stringviewparam convert methods using indexOfNoel Grandin2-9/+10
.. and lastIndexOf, which convert to find and rfind Change-Id: I6c4156cf904774c0d867f85a4c2785dba7593f62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132445 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-04cid#1500511 silence Resource leakCaolán McNamara1-2/+1
Change-Id: I37cdd52d965112598249b929fa49c759a88606c9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131002 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-08Extend loplugin:stringview to O[U]StringBuffer::toStringStephan Bergmann1-1/+1
Change-Id: I7ad212dfff8b34d05e3b45107a1ef033a4efc454 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129651 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-02-06tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macroVaibhavMalik41871-6/+4
Change-Id: I4f5258ca5b37e9b1b4237c5d29e4a9e5362fa855 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129116 Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins