summaryrefslogtreecommitdiff
path: root/codemaker/source
AgeCommit message (Collapse)Author
2014-01-10Be explicit when using bool as integral valueStephan Bergmann
Change-Id: I22ee35d8c26ac119b35ba6c85c06199539b0c9d7
2014-01-10codemaker: fix^2 invalid string index accessStephan Bergmann
...originally the past-the-end checks in destination where always true, and thus happend to work as intended for empty destionation, but 614e04019a672cdd61b86699d99250d80f169f95 broke that, so calling cppumaker w/o -O was broken now. Change-Id: I8d41dfe8d4c12e4a73a9782d4d5e7c9fa4d9df81
2013-12-19...and support direct calls of non-default ctors, tooStephan Bergmann
Change-Id: I507a5664e642c75f6e9e9fe0c95c97ea76a8e5b3
2013-12-19WIP: Direct service ctor calls at least on Android/iOSStephan Bergmann
Change-Id: I8a1907bc4b8f2134efb15d38a0fb5176b4384317
2013-12-17if there is one typo, its guaranteed to duplicated somewhereCaolán McNamara
Change-Id: Ia81069afa47fa5790b973247c68bead7de87d718
2013-11-07codemaker: fix invalid string index accessMichael Stahl
Change-Id: Icca819484e751864d146a893fe78e8ef2c36363b
2013-11-04Convert code that calls OUString::getStr()[] to use the [] operatorNoel Grandin
This also means that this code now gets bounds checked in debug builds. Change-Id: Id777f85eaee6a737bbcb84625e6e110abe0e0f27
2013-10-31Convert indexOf->startsWith and lastIndexOf->endsWithNoel Grandin
This is both an optimisation and a cleanup. This converts code like aStr.indexOf("XX") == 0 to aStr.startsWith("XX") and converts code like aStr.lastIndexOf("XXX") == aStr.getLength() - 3 to aStr.endsWith("XXX") Note that in general aStr.lastIndexOf("X") == aStr.getLength() - 1 converts to aStr.isEmpty() || aStr.endsWith("X") so I used the surrounding context to determine if aStr could be empty when modifying the code. Change-Id: I22cb8ca7c2a4d0288b001f72adb27fd63af87669
2013-10-20cppumaker: Allow UNO interface functions to throw std::exceptionStephan Bergmann
...so that exceptions like std::bad_alloc need not be treated in C++ implementations of UNO interfaces to not cause std::unexpected. Of course, this requires implementations to be adapted and actually mention std::exception in their exception specifications. Change-Id: Ie7f91e7ca47d8a81e3d0ba817e65d83c7823af75
2013-10-20Some more cppumaker "css" clean-upStephan Bergmann
...hopefully, all generated headers that use css (indirectly) include sal/types.h Change-Id: Iaa40fa014d54b57b395eafda8b4f35ca395d55b0
2013-10-20fdo#70285 cleanup generated C++ codeNoel Grandin
Change-Id: Ic43628de53c5139ef43bb48723fb1e0788af1cd1 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-10-01rhbz#1014010: Missing dependencies in isBootstrapType listStephan Bergmann
...the list has been fixed now by copying its elements into an ENTRIES file and running "unoidl-write udkapi/ @ENTITIES TEMP && unoidl-read TEMP >/dev/null" and adding any reported unknown entities until it succeeds. However, the updated list lead to deadlock when css.reflection.ParamInfo UnoType resolves css.reflection.XIdlClass UnoType resolves css.reflection.XIdlMethod UnoType resolves css.reflection.ParamInfo UnoType, so broke the circle by no longer resolving the interface methods' return and parameter types in InterfaceType::dumpMethodsCppuDecl (which is why those type infos are only generated on demand anyway; looks like this had been a careless thinko in the generation of comprehensive type info that had remained unnoticed all the time). Change-Id: I50ef2fde16242298e055c6fa5971e70fad1a2b68
2013-09-17Fail for unkonwn entitiesStephan Bergmann
Change-Id: I13d668e92ea762e9888f8c1c4615eccad6a1ff1b
2013-09-16Revert "WIP: add cppumaker -U to directly read from .idl files"Stephan Bergmann
This reverts commit c4113906d7f15f8aa0eb385a4caf474b3505ede1, which is not necessary after all with recent "Hook SourceProvider into unoidl::loadProvider."
2013-09-12WIP: add cppumaker -U to directly read from .idl filesStephan Bergmann
Change-Id: I420847515b6b691ae81a249a8820cf9a3d132372
2013-09-12Add cppumaker -nD "no dependent types are generated"Stephan Bergmann
...just like javamaker. Change-Id: I7634a65a948ca7abdb7ad75d0aeca8becb38ab87
2013-09-10Stray space at end of usage text lineStephan Bergmann
Change-Id: I886c543d9de63595a9183f4e5f108f08b2ba25ef
2013-09-04UNO interface UIKs are unused for a very long timeStephan Bergmann
...so mark them as @deprecated more thoroughly and always force them to zero. Change-Id: I5db2dab924fc5a4145a0e5dd055b654985ce2ef9
2013-09-03Write integers as signed sal_Int32Stephan Bergmann
...this was a regression introduced with 64b993e046f23baaacaff1572b7d2a816588b5ef "finish deprecation of O(U)String::valueOf()" and it caused e.g. the value -0x100 of the enum member css.i18n.TranliterationModules.IGNORE_MASK to be written as 4294967040 rather than as -256. (Though the relevant code is dead ugly, for sure.) Change-Id: Icb3d3365135bc2a07e438317b70abdf9d74d6d7a
2013-08-21finish deprecation of O(U)String::valueOf()Luboš Luňák
Compiler plugin to replace with matching number(), boolean() or OUString ctor, ran it, few manual tweaks, mark as really deprecated. Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
2013-06-17fdo#43460 startmath,codemaker: use isEmpty()Jelle van der Waa
Change-Id: I55d3f4546f40a321ebf4b08db33536592f451944 Reviewed-on: https://gerrit.libreoffice.org/4318 Reviewed-by: Marcos Souza <marcos.souza.org@gmail.com> Reviewed-by: Noel Power <noel.power@suse.com> Tested-by: Noel Power <noel.power@suse.com>
2013-05-28Source files shouldn't have executable bit set.Mark Wielaard
Change-Id: Iafad6249a7998d7c749c1ca2979a606078cfcb5e Reviewed-on: https://gerrit.libreoffice.org/4070 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-05-16Support for annotations in the new UNOIDL formatStephan Bergmann
...used for now to transport @deprecated information. Also, improve Idx-String (formerly Idx-Name, but also used for UTF-8 annotations now) format, using the 0x80000000 for the indirection rather than the base case. (And the README erroneously used "Offset of" Idx-String all over the place.) Change-Id: I7003b1558ab536a11a9af308f9b16a7ef8840792
2013-05-15Spelling "separate" (etc) correctly is hardTor Lillqvist
2013-05-12cppcheck: unusedVariable (parameters)Julien Nabet
Change-Id: I0a7f230cb7e36857079de20a535cd883e30fd46f
2013-04-24Allow for (relative) pathname args for codemakers againStephan Bergmann
Change-Id: I503d88b7d6fc44ef70d5071fddcec465e3fba856
2013-04-16Further codemaker, unodevtools clean-upStephan Bergmann
...getting rid of now dangling references to module registry. Change-Id: Iccad7ff5dc0e79bf91b7b7dae03b73f16adeb121
2013-04-16WaE: unused function 'checkNoTypeArguments'Tor Lillqvist
Change-Id: I112e6ac263bb673b5ad553742d3fa77af50bdf03
2013-04-16WIP: Experimental new binary type.rdb formatStephan Bergmann
Make uno-skeletonmaker work on top of unoidl/ instead of registry/. These changes have only been tested so far rather lightly. Basic uno-skeletonmaker still works, but more thorough testing of the various input flags is needed. Change-Id: Id7f3aee863a10f8c649325db2d6f34a4057f70ff
2013-04-15Further adapt CppuType::dumpCppuGetType to using unoidl/ instead of registry/Stephan Bergmann
Change-Id: Ib46d7b8934f63d88ea953707fa1fbfb51c524efd
2013-04-12Combine getSortResolve...() into one decompose()Stephan Bergmann
Change-Id: Ie1c1311d1df14d5639b7642d2b9a1588605c31fc
2013-04-11[API CHANGE] WIP: Experimental new binary type.rdb formatStephan Bergmann
Make javamaker work on top of unoidl/ instead of registry/. API CHANGE: javamaker no longer supports the -B switch, as that is meaningless with the new format. When reading from an old-format .rdb file, /UCR is hard- coded as the prefix now. Change-Id: I8cca39f8ebacd0476934f7bd493d206928d063a9
2013-04-11Minor terminology clean-upStephan Bergmann
Change-Id: I4fa4431978f049a7b5b201d89743f909bc120ff4
2013-04-09WaE: unused variableTor Lillqvist
Change-Id: I64ac7b45722e4147091068e71e9ceedea3d73010
2013-04-09[API CHANGE] WIP: Experimental new binary type.rdb formatStephan Bergmann
Make cppumaker work on top of unoidl/ instead of registry/, as a first step to change all the various codemakers. * API CHANGE: cppumaker no longer supports the -B switch, as that is meaningless with the new format. When reading from an old-format .rdb file, /UCR is hard-coded as the prefix now. * TODO: The new format does not yet support deprecation annotations, so the generated .hdl/.hpp files lack any SAL_DEPRECATED_INTERNALs for now. * codemaker/typemanager.hxx is extended with access to unoidl/ functionality, so the various codemakers can use registry/ and unoidl/ in parallel for now. The access to registry/ functionality will be removed. (Added small throwaway helper functions u2b/b2u to easily map between OString and OUString at the remaining seams for now.) * Includes a selective revert of ba044b1e9613ed30906a9a540b7da8392923e4e3 "remove needless forward rtl::OUString declarations" in those parts of codemaker, unodevtools, unoidl that were covered by this local work-in-progress patch; I would otherwise have hard a hard time re-applying it. * The generated .hdl/.hpp files are mostly unchanged, except for a few minor things: ** Any SAL_DEPRECATED_INTERNALs are missing (see above). ** In comprehensive getCppuType definitions, some members were erroneously classified as TypeCalss_UNKNOWN. ** In comprehensive getCppuType definitions, some unnecessary calls like ::cppu::UnoType< ::sal_Int32 >::get(); can be removed. ** For typedef sequence<X>, the .hdl file need not include X.hdl, but only needs to forward-declare it. ** Unnecessary includes for optional bases of interfaces can be removed. ** Some numbering of local variable names (sMethodName1, ...) has changed. Change-Id: Icad98f248ac15177337f1b4ab709a755a8af6238
2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk have kept them, in order not to break external API (the automatic using declaration is LO-internal). Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
2013-03-27Clean up codemaker/typemanager.hxxStephan Bergmann
Change-Id: I650efd6780070410eaf34993dd41ed1b8ada7c9a
2013-03-19reduce whitespaces between include and filenameThomas Arnhold
Change-Id: I15f6ad0a760a28cbac53f99ba4d14ff5c24ce005
2013-03-11css.beans.PropertyValue references css.beans.PropertyStateStephan Bergmann
...so include the latter in isBootstrapType too, see dee53a32a9feba2021782db5762b5a9a034efae4 "Temporary hack around cppu_detail_getCppuType variants violating ODR." Change-Id: I613cf3d8699eccb149e0e1d31f4398a426ce0966
2013-03-09Removed last RTL_CONST* macros from codemakerMarcos Paulo de Souza
Also, change ".equals" fro "==" and drop a useless function. Change-Id: I5ce4fd2cc7c62a18e059e945b42cc01425802aa0 Reviewed-on: https://gerrit.libreoffice.org/2605 Reviewed-by: Olivier Hallot <olivier.hallot@alta.org.br> Tested-by: Olivier Hallot <olivier.hallot@alta.org.br>
2013-03-09fdo#43460: use isEmpty()Thomas Arnhold
Change-Id: I01f503ea5268245cc4f98524931730cfa063d57e
2013-03-08Remove RTL_CONST* macros from codemaker - pt2Marcos Paulo de Souza
More macros removed, and some simplifications when callind methods. Conflicts: codemaker/source/javamaker/javatype.cxx Change-Id: If55046a5a9ceb6c8c84f3fa190f26cc9e1dde352
2013-03-08Remove RTL_CONST* macros from codemaker - pt1Marcos Paulo de Souza
For more easy review, this is the first part of these changes. More will come :) Change-Id: Ic6ab0c7baebf0414dbcccb5dcfad434b3b07964c Reviewed-on: https://gerrit.libreoffice.org/2595 Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-03-08fdo#57950: Remove chained appends in codemakerMarcos Paulo de Souza
And another cleanups like removing RTL_CONST* macros and other simple things. Much more can be done inside codemaker. Change-Id: I338e1c0e88558124741c6202896355533535a129 Reviewed-on: https://gerrit.libreoffice.org/2583 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org> Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
2013-03-07make the UNO generated catch clauses use const modifierNoel Grandin
Change-Id: I2c9cdff2aeb97c8b9740aba91990e27315d5c85b
2013-02-25loplugin: unused variablesThomas Arnhold
Change-Id: I46a748bf2c54d15c0f5718901197f3b4c34b82bf
2013-01-26Remove redundant braces around for loopsStephan Bergmann
...that had once been workarounds for compilers that did not yet support the C++98 scoping rules for declarations in for-init-statements. Change-Id: I51dc42982b30bf3adea6de1a10a91c0b4b4acfbe
2012-12-18Replace chained O(U)StringBuffer::append() with operator+Christos Strubulis
Change-Id: I0fcd70cff092c7d90b57b9af9dcec99f23750f1c Signed-off-by: Luboš Luňák <l.lunak@suse.cz>
2012-12-03No reason to turn "throws nothing" specifications into commentsStephan Bergmann
...as had been done in 0295bd6b3f21dd648af6145ca23d90467f3cec73 "Remove exception spec from idl-generated c++ headers." Change-Id: I1b900a91be6db6cb4d7b60759e844117aa6b027d
2012-12-02cppumaker: do write exception specifications on --enable-dbgutilMichael Stahl
Exception specifications are useless for production code, but make for useful assertions in dbgutil builds (on platforms where they are enforced at runtime). Because we do not have API tests that exhaustively trigger all documented error conditions, much less the undocumented or wrongly handled error conditions that would cause the implementation to violate its API specification, there is likely some benefit in having these runtime-checked specifications in debug builds, in the hope that our various tests which may incidentally call various API methods, or general soffice usage, uncovers these bugs. Also, there may be some benefit to making API implementers more aware of the exception specifications, to quote Stephan's mail: To be able to programmatically react to an exception raised by a UNO method (which is the raison d'être of non-runtime UNO exceptions), the specification of that method must document the method's behavior with respect to raising that exception, and any implementation of the method must adhere to that specification. However, with that part of a UNO method's interface moved out of sight of a programmer writing a C++ implementation of that method, I fear that adherence to specification will degrade in practice. And that negatively affects an area where we do not shine anyway: reaction to errors. This partially reverts commits: 0295bd6b3f21dd648af6145ca23d90467f3cec73 155cd09b5eebe0c1eab0610a7f1f04f09de4b217 Change-Id: I9c7664c9f1b238f4f9501aacb065981236949440