Commit graph

564 commits

Author SHA1 Message Date
Marcos Paulo de Souza
34aa49e81d Remove RTL_CONST* macros from codemaker - pt2
More macros removed, and some simplifications when callind methods.

Conflicts:
	codemaker/source/javamaker/javatype.cxx

Change-Id: If55046a5a9ceb6c8c84f3fa190f26cc9e1dde352
2013-03-08 17:44:03 +01:00
Marcos Paulo de Souza
596334776a Remove RTL_CONST* macros from codemaker - pt1
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-08 13:02:22 +00:00
Marcos Paulo de Souza
75e6856b08 fdo#57950: Remove chained appends in codemaker
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-08 04:31:03 +00:00
Noel Grandin
c98a1fa048 make the UNO generated catch clauses use const modifier
Change-Id: I2c9cdff2aeb97c8b9740aba91990e27315d5c85b
2013-03-07 08:23:41 +02:00
Michael Stahl
b768611724 remove all d.lst
Change-Id: Icba4218c5f9fe89d183d25ea82a8eae52881f885
2013-02-28 18:40:06 +01:00
Michael Stahl
ba8372449b registry: new ZipPackage_registry_odk_headers
Change-Id: I0730e0a354ec952cdb67d1b22067ab59c86334c0
2013-02-27 01:33:19 +01:00
Michael Stahl
308cac3f23 sal: new ZipPackage_sal_odk_headers for public ODK headers
Change-Id: I76cb00121d7b4c21137be70ab7a5bd5389037302
2013-02-27 01:33:18 +01:00
Thomas Arnhold
405caad685 loplugin: unused variables
Change-Id: I46a748bf2c54d15c0f5718901197f3b4c34b82bf
2013-02-25 03:14:00 +01:00
Michael Stahl
5a61e28378 gbuild: fix silly "expandtabs" in makefile VIM modelines
Change-Id: I54d8923ad315e8041fd3904da3a29f1a7a8c8b16
2013-01-26 22:20:07 +01:00
Stephan Bergmann
f1bca26afc Remove redundant braces around for loops
...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
2013-01-26 16:36:09 +01:00
Christos Strubulis
5198c4a41f Replace chained O(U)StringBuffer::append() with operator+
Change-Id: I0fcd70cff092c7d90b57b9af9dcec99f23750f1c
Signed-off-by: Luboš Luňák <l.lunak@suse.cz>
2012-12-18 17:26:54 +01:00
Stephan Bergmann
2848788ec7 No reason to turn "throws nothing" specifications into comments
...as had been done in 0295bd6b3f "Remove
exception spec from idl-generated c++ headers."

Change-Id: I1b900a91be6db6cb4d7b60759e844117aa6b027d
2012-12-03 17:47:36 +01:00
Michael Stahl
eb0cfb3bf2 cppumaker: do write exception specifications on --enable-dbgutil
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:
0295bd6b3f
155cd09b5e

Change-Id: I9c7664c9f1b238f4f9501aacb065981236949440
2012-12-02 20:58:32 +01:00
Thorsten Behrens
66a175834c c++ API: use css alias in generated headers, adds global css decl
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-30 14:36:36 +01:00
Thorsten Behrens
dda524a711 Prettify cppumaker output.
Don't use extra-verbose RTL_CONSTASCII_USTRINGPARAM anymore. Write
nicer nullary method prototypes.

Change-Id: I1efdd6edd624c32852f47e5d2b266e90536b917b
2012-11-29 16:49:52 +01:00
Thorsten Behrens
155cd09b5e Remove some commented-out or otherwise unused code. 2012-11-29 16:49:52 +01:00
Thorsten Behrens
0295bd6b3f Remove exception spec from idl-generated c++ headers.
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-29 16:49:51 +01:00
Tor Lillqvist
a3ce60eb3c We only support MSVC 2008 (_MSC_VER 1500) or later
We can drop or simplify many conditionals.

Change-Id: I37e820e515cc09845c30b62c89ddb3b6ff370f97
2012-11-28 20:53:40 +02:00
Tor Lillqvist
625e173aaf OUString::replace() does not replace in-place
Change-Id: I5a1d713ee8e9c913adad57b7d8fb0597f96a2db4
2012-11-28 20:08:20 +02:00
Julien Nabet
db4aab0e11 Remove some newly tagged unused methods
Change-Id: Ie55dfd19f223df62c091ffc4fdf28789b308a1c7
2012-11-23 22:39:04 +01:00
Stephan Bergmann
44ea5d1414 Adding SAL_DEPRECATED_INTERNAL to an implementation function is pointless
...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-23 14:04:51 +01:00
Enrico Weigelt, metux ITS
823b334ad7 dropped unused method: FileStream::open
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-11-15 07:31:17 +00:00
Peter Foley
e1f742a601 fix system boost
Change-Id: Id80557cb47ab471a0f3a643a1c11a59e89c14c54
2012-11-13 17:03:35 -05:00
Michael Meeks
dcb921b8d2 static libraries also require boost. 2012-11-13 11:47:42 +00:00
Michael Meeks
495d579b28 cppumaker and javamaker also use boost. 2012-11-13 11:31:33 +00:00
Norbert Thiebaud
144f6d4424 codemaker use boost, so declare the dep
Change-Id: I64794acd804ed5059f54422d74bdd0ba1688cc91
2012-11-12 00:47:13 -06:00
Peter Foley
460269a3ad codemaker_java needs boost
Change-Id: I64a6ae7bfed878d1fafda9125920340ec3eca378
2012-11-11 16:05:22 -05:00
David Tardon
f09e4ae273 add missing deps on sal headers
Change-Id: I815ef8abaf4cd998e7b91fbadad56ddf0a7087ba
2012-10-31 19:11:35 +01:00
Caolán McNamara
fe347327a4 loplugin: unused aName string and whacky indent
Change-Id: I3febbc1618ca86f19c851a8eea313327a9c0a96c
2012-10-26 12:41:37 +01:00
Caolán McNamara
1f9f8f4f40 loplugin: some log, indent and unused variable warnings
fix up some indents, remove some unused OUStrings and add some log areas

Change-Id: I5c50807aff7a726b03b72522975d9b75e6685b9b
2012-10-13 20:34:54 +01:00
Caolán McNamara
586895f8fa loplugin: more unused OUString and misleading indentation
Change-Id: Ic21ca9e14520f4f16c2d665a07a79ee1a46ab91d
2012-10-11 21:16:27 +01:00
Tor Lillqvist
06d51d2790 Revert "For some reason saxparser aborts for me without this"
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 73c3907bce.

Change-Id: Iabbfec9b8e9d6963b31daa52dc574bed01d9eb4c
2012-10-07 08:25:32 +03:00
Tor Lillqvist
73c3907bce For some reason saxparser aborts for me without this
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-06 23:13:39 +03:00
Noel Grandin
8e995db6a2 sal_Bool->bool in codemaker
Change-Id: Icea58e7c1dea14f524d6a8d479b7d85e79d6266b
2012-10-04 21:29:34 +02:00
Arnaud Versini
36a2db3722 Replace usage of rtl_*Memory with equivalent from string.h
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-10-01 18:48:05 +00:00
David Tardon
93a3e81816 add missing deps on headers to static libs
Change-Id: I7a28dfa13bf0f98a654eca98eb1cdfd99177f37a
2012-10-01 07:21:09 +02:00
Tor Lillqvist
a73656244f Add css.reflection.XTypeDescriptionEnumerationAccess to the bootstrap types
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-28 10:08:22 +03:00
Norbert Thiebaud
750fc20611 replace remaining InterlockedCount() with inlined version
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-25 01:55:38 +00:00
David Tardon
8f16dc3de4 use package instead of explicit include path
Change-Id: I11048d24b21549aa3ae79995a2c252c00e56d771
2012-09-22 08:15:46 +02:00
David Tardon
d40ec00ad9 add missing dependency
Change-Id: Ibfe60fde8010755ee8c3ce1afce669400a44f6e2
2012-09-22 08:15:37 +02:00
Stephan Bergmann
d2092dc56b Keep null service manager throw a DeploymentException
...rather than a general RuntimeException, for consistency with existing service
ctor code.

Change-Id: Ia9ac14a1b5bcecb24394e7b9cade369f3f9303f0
2012-09-17 19:12:34 +02:00
Stephan Bergmann
543158edba Require XComponentContext.getServiceManager to throw instead of returning null
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-09-17 16:59:53 +02:00
Tor Lillqvist
c7377102ad Add note about terminology
Change-Id: Iecbd3d88e963222e9bf44412fc84245edb6659dc
2012-08-30 09:40:06 +03:00
Michael Stahl
753e9b3d45 udkapi, offapi: do not use #include "foo":
Evidently on Windows, the newfangled ucpp handles #include "foo"
differently from #include <foo> and treats it as a relative path, while
the angle brackets always result in absolute paths.
Since relative paths result in infinite rebuilds if make is invoked in a
different directory, don't use #include "foo" in IDL files.

Change-Id: Iedcda3a4be5542389a0be086f14541cda8dc5323
2012-07-30 20:49:09 +02:00
Michael Meeks
c91e2cae54 re-base on ALv2 code. 2012-06-12 22:24:54 +01:00
Stephan Bergmann
b674453066 XInterfaceTypeDescription missing from isBootstrapType
...it is base of XInterfaceTypeDescription2 (included in isBootstrapType), which
ultimately caused uno-skeletonmaker to crash.

Change-Id: I17421f58efd9edd4112532a3221125865cc5560e
2012-06-07 14:36:05 +02:00
Takeshi Abe
f7ebee38a3 removed dead code
Change-Id: I02e535f0a0e55446e5a29297c2d05b1503805e71
2012-06-06 00:59:23 +09:00
Michael Stahl
26643fb59e codemaker: write version 49 (1.5) class files
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-05-21 18:48:04 +02:00
Bjoern Michaelsen
b1c3e8ae28 make gbuild the default assumption of build.pl
this removes dmake completely out of the build for migrated modules
build.pl now assumes modules to be gbuild, unless there is a
prj/dmake file

Change-Id: I674a036b182ee13c5ec093e83cb3d38133112d3b
2012-04-29 03:50:46 +02:00
Tor Lillqvist
cf0186de2d Don't build these command-line tools for non-desktop OSes 2012-04-20 10:15:39 +03:00