summaryrefslogtreecommitdiff
path: root/codemaker/source
AgeCommit message (Collapse)AuthorFilesLines
2013-04-16WIP: Experimental new binary type.rdb formatStephan Bergmann2-108/+11
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 Bergmann2-24/+23
Change-Id: Ib46d7b8934f63d88ea953707fa1fbfb51c524efd
2013-04-12Combine getSortResolve...() into one decompose()Stephan Bergmann2-84/+61
Change-Id: Ie1c1311d1df14d5639b7642d2b9a1588605c31fc
2013-04-11[API CHANGE] WIP: Experimental new binary type.rdb formatStephan Bergmann6-1662/+1501
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 Bergmann1-5/+5
Change-Id: I4fa4431978f049a7b5b201d89743f909bc120ff4
2013-04-09WaE: unused variableTor Lillqvist1-0/+1
Change-Id: I64ac7b45722e4147091068e71e9ceedea3d73010
2013-04-09[API CHANGE] WIP: Experimental new binary type.rdb formatStephan Bergmann20-4597/+3647
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ňák25-560/+541
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 Bergmann12-227/+212
Change-Id: I650efd6780070410eaf34993dd41ed1b8ada7c9a
2013-03-19reduce whitespaces between include and filenameThomas Arnhold1-1/+1
Change-Id: I15f6ad0a760a28cbac53f99ba4d14ff5c24ce005
2013-03-11css.beans.PropertyValue references css.beans.PropertyStateStephan Bergmann1-0/+1
...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 Souza7-80/+60
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 Arnhold1-1/+1
Change-Id: I01f503ea5268245cc4f98524931730cfa063d57e
2013-03-08Remove RTL_CONST* macros from codemaker - pt2Marcos Paulo de Souza1-497/+172
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 Souza5-557/+150
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 Souza5-108/+44
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 Grandin1-5/+5
Change-Id: I2c9cdff2aeb97c8b9740aba91990e27315d5c85b
2013-02-25loplugin: unused variablesThomas Arnhold1-2/+0
Change-Id: I46a748bf2c54d15c0f5718901197f3b4c34b82bf
2013-01-26Remove redundant braces around for loopsStephan Bergmann5-66/+66
...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 Strubulis1-5/+1
Change-Id: I0fcd70cff092c7d90b57b9af9dcec99f23750f1c Signed-off-by: Luboš Luňák <l.lunak@suse.cz>
2012-12-03No reason to turn "throws nothing" specifications into commentsStephan Bergmann1-14/+14
...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 Stahl2-0/+71
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
2012-11-30c++ API: use css alias in generated headers, adds global css declThorsten Behrens1-11/+6
This changes all generated API headers (.hpp and .hdl) to use a namespace alias 'css' instead of the pointlessly long com::sun::star Makes the change in cppumaker & associated tools, adds a global namespace alias definition in sal/types.h, and removes a kiloton of local, now pointless-to-harmful versions of that alias from all over the code. Change-Id: Ice5a644a6b971a981f01dc0589d48f5add31cc0f
2012-11-29Prettify cppumaker output.Thorsten Behrens1-82/+88
Don't use extra-verbose RTL_CONSTASCII_USTRINGPARAM anymore. Write nicer nullary method prototypes. Change-Id: I1efdd6edd624c32852f47e5d2b266e90536b917b
2012-11-29Remove some commented-out or otherwise unused code.Thorsten Behrens2-43/+3
2012-11-29Remove exception spec from idl-generated c++ headers.Thorsten Behrens2-70/+14
The general agreement in the project is that c++ exception specs are pointless and add bloat in production code. See also this rant for more background: http://drdobbs.com/cpp/184401544 This removes the code that generates the exception specs on the generated c++ headers, and fixes up the few places that broke subsequently because of widening exception specs, which in turn was due to the rather unfortunate decision to not have a virtual dtor in XInterface. Change-Id: I60db26e1cc4d4fe6eeef5975e39497841e92588a
2012-11-28OUString::replace() does not replace in-placeTor Lillqvist2-2/+2
Change-Id: I5a1d713ee8e9c913adad57b7d8fb0597f96a2db4
2012-11-23Remove some newly tagged unused methodsJulien Nabet1-16/+0
Change-Id: Ie55dfd19f223df62c091ffc4fdf28789b308a1c7
2012-11-23Adding SAL_DEPRECATED_INTERNAL to an implementation function is pointlessStephan Bergmann2-3/+33
...as there are typically no direct calls to it anyway. What is apparently needed is to decorate the cppumaker-generated headers instead: * cppumaker obtains deprecation-information from the documentation strings in .rdb files. As these are normally generated by idlc without documentation included (no -C), idlc got changed to nevertheless contain documentation consisting of just "@deprecated" in this case, to allow to easily tunnel this information to cppumaker always. * The mechanism of parsing for "@deprecated" in documentation strings is somewhat crude, of course. * For now, cppumaker only decorates C++ functions that correspond to UNOIDL interface attributes and methods. More should be possible (but, e.g., being able to decorate a complete C++ class corresponding to a deprecated UNOIDL interface type depends on whether all platforms would accept SAL_DEPRECATED_INTERNAL at the same position in a C++ class declaration. * This could also be extended to other languages than C++/cppumaker. * Always using SAL_DEPRECATED_INERNAL instead of SAL_DEPRECATED for decoration is to keep things simple and our codebase working. Improvements are possible here, too, of course. Change-Id: Ia2917892f780d477652e4cd9f286588a6898c3f5
2012-11-15dropped unused method: FileStream::openEnrico Weigelt, metux ITS1-12/+0
Change-Id: I3e6c1341666fddcfd1bd272a0943ca1de3e5d629 Reviewed-on: https://gerrit.libreoffice.org/1072 Reviewed-by: Tor Lillqvist <tml@iki.fi> Tested-by: Tor Lillqvist <tml@iki.fi>
2012-10-26loplugin: unused aName string and whacky indentCaolán McNamara1-19/+32
Change-Id: I3febbc1618ca86f19c851a8eea313327a9c0a96c
2012-10-13loplugin: some log, indent and unused variable warningsCaolán McNamara1-2/+1
fix up some indents, remove some unused OUStrings and add some log areas Change-Id: I5c50807aff7a726b03b72522975d9b75e6685b9b
2012-10-11loplugin: more unused OUString and misleading indentationCaolán McNamara1-1/+0
Change-Id: Ic21ca9e14520f4f16c2d665a07a79ee1a46ab91d
2012-10-07Revert "For some reason saxparser aborts for me without this"Tor Lillqvist1-1/+0
Not needed now when we always generate comprehensive UDKAPI headers in the configuration where I thought the reverted change helped (it actually didn't). This reverts commit 73c3907bce33c07ef78c0bb9ff1e0df8b9fbb323. Change-Id: Iabbfec9b8e9d6963b31daa52dc574bed01d9eb4c
2012-10-06For some reason saxparser aborts for me without thisTor Lillqvist1-0/+1
This is in a Mac build tree using the 10.7 SDK and latest Xcode Clang. This codemaker-generated type stuff seems awfully fragile. Should we just bite the bullet and do the "comprehensive" thing for all UDKAPI types all the time on all platforms? Is that a sane question to ask? Change-Id: I9d17e76a83ff71898409179acb445832436f7bbd
2012-10-04sal_Bool->bool in codemakerNoel Grandin2-11/+11
Change-Id: Icea58e7c1dea14f524d6a8d479b7d85e79d6266b
2012-10-01Replace usage of rtl_*Memory with equivalent from string.hArnaud Versini1-1/+1
Change-Id: I50ffc10f007f03c3252ef0196b59b881429cc159 Reviewed-on: https://gerrit.libreoffice.org/734 Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com> Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
2012-09-28Add css.reflection.XTypeDescriptionEnumerationAccess to the bootstrap typesTor Lillqvist1-0/+1
Needed for some unknown reason in a 64-bit Mac LO. Doesn't do any harm to have it included everywhere. Change-Id: I62ae599692bb922678caabe78b7e1c0588573bb2
2012-09-25replace remaining InterlockedCount() with inlined versionNorbert Thiebaud1-2/+2
Change-Id: Ifcfa48fc87f905a91470a5b0fd597b02f220784c Reviewed-on: https://gerrit.libreoffice.org/671 Tested-by: Norbert Thiebaud <nthiebaud@gmail.com> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2012-09-17Require XComponentContext.getServiceManager to throw instead of returning nullStephan Bergmann4-101/+29
This is such a fatal error that there is probably no point in trying to handle it, so allow to simplify client code by removing the requirement to check for a null return value. Simplified some client code accordingly (modules configmgr and ure, and the code generated by cppumaker and javamaker). Change-Id: I51c0b270ec73409374f7439a47ee061407a46e31
2012-06-12re-base on ALv2 code.Michael Meeks25-590/+365
2012-06-07XInterfaceTypeDescription missing from isBootstrapTypeStephan Bergmann1-0/+1
...it is base of XInterfaceTypeDescription2 (included in isBootstrapType), which ultimately caused uno-skeletonmaker to crash. Change-Id: I17421f58efd9edd4112532a3221125865cc5560e
2012-06-06removed dead codeTakeshi Abe1-29/+0
Change-Id: I02e535f0a0e55446e5a29297c2d05b1503805e71
2012-05-21codemaker: write version 49 (1.5) class filesMichael Stahl1-1/+1
The trick of writing generic types into class files of versions < 49 does no longer work with javac from OpenJDK 7: /comphelper/qa/complex/comphelper/Map.java:154: error: type Pair does not take parameters Pair< ?, ? >[] initialMappings = new Pair< ?, ? >[ _keys.length ]; There appears to be a related JDK bug for this, at some time javac had an undocumented option to produce similar class files that are also rejected now, this has been closed as "Not a Defect": http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7078419 Change-Id: I8a504f6cbb3bb58cd914aebb88637cc6feb0bd48
2012-04-14gbuild conversion: codemaker moduleDavid Ostrovsky5-272/+0
2012-04-14replace APP?RPATH SDK by SDKBIN in old build systemDavid Tardon2-2/+2
Commit 0c80ad06fd96a4fec062a7edfff12bb65ef204b4 broke MacOS X builds because of this discrepancy. It would be easy to accept both, but I think it is better to be consistent with gbuild.
2012-04-06Replaced equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) with == operatorSzabolcs Dezsi2-13/+5
2012-03-29UNO BYTE is signedStephan Bergmann2-6/+2
This is hopefully a better fix for c589fa17b8f3e6ded0d1e04120781eb5d6735bc7 "Dalvik enforces byte constants being in range (-128..127)."
2012-03-28Dalvik enforces byte constants being in range (-128..127)Tor Lillqvist1-1/+4
2012-03-14Enable -Wnon-virtual-dtor for GCC 4.6Stephan Bergmann1-2/+7
...which has the necessary features to support it. Change a lot of classes to either contain a protected non-virtual dtor (which is backwards compatible, so even works for cppumaker-generated UNO headers) or a public virtual one. cppuhelper/propertysetmixin.hxx still needs to disable the warning, as the relevant class has a non-virtual dtor but friends, which would still cause GCC to warn. Includes a patch for libcmis, intended to be upstreamed.