Commit graph

615 commits

Author SHA1 Message Date
Michael Stahl
614e04019a codemaker: fix invalid string index access
Change-Id: Icca819484e751864d146a893fe78e8ef2c36363b
2013-11-07 01:34:33 +01:00
Noel Grandin
0e6a2601b3 Convert code that calls OUString::getStr()[] to use the [] operator
This also means that this code now gets bounds checked in debug builds.

Change-Id: Id777f85eaee6a737bbcb84625e6e110abe0e0f27
2013-11-04 08:06:10 +02:00
Noel Grandin
e2451bd729 Convert indexOf->startsWith and lastIndexOf->endsWith
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-31 08:34:21 +02:00
Stephan Bergmann
0bc89aac4c cppumaker: Allow UNO interface functions to throw std::exception
...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-20 16:10:53 +02:00
Stephan Bergmann
eb37196aa7 Some more cppumaker "css" clean-up
...hopefully, all generated headers that use css (indirectly) include sal/types.h

Change-Id: Iaa40fa014d54b57b395eafda8b4f35ca395d55b0
2013-10-20 16:10:53 +02:00
Noel Grandin
44b96b1d76 fdo#70285 cleanup generated C++ code
Change-Id: Ic43628de53c5139ef43bb48723fb1e0788af1cd1
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-10-20 16:10:53 +02:00
Stephan Bergmann
254f59f623 rhbz#1014010: Missing dependencies in isBootstrapType list
...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-10-01 14:44:44 +02:00
Caolán McNamara
3656a57e88 add mode lines to new files (and idls) since last run
Change-Id: Id1e74f18c90e69d1a781c8f02e30dc3c005ed4fd
2013-09-22 12:21:34 +01:00
Stephan Bergmann
04a002491b Fail for unkonwn entities
Change-Id: I13d668e92ea762e9888f8c1c4615eccad6a1ff1b
2013-09-17 06:55:41 +02:00
Stephan Bergmann
a80fb45fe4 Revert "WIP: add cppumaker -U to directly read from .idl files"
This reverts commit c4113906d7, which is not
necessary after all with recent "Hook SourceProvider into unoidl::loadProvider."
2013-09-16 13:29:49 +02:00
Stephan Bergmann
c4113906d7 WIP: add cppumaker -U to directly read from .idl files
Change-Id: I420847515b6b691ae81a249a8820cf9a3d132372
2013-09-12 17:45:12 +02:00
Stephan Bergmann
54dd4ae0dd Add cppumaker -nD "no dependent types are generated"
...just like javamaker.

Change-Id: I7634a65a948ca7abdb7ad75d0aeca8becb38ab87
2013-09-12 15:28:11 +02:00
Stephan Bergmann
4b0a692668 Stray space at end of usage text line
Change-Id: I886c543d9de63595a9183f4e5f108f08b2ba25ef
2013-09-10 15:48:03 +02:00
Stephan Bergmann
2618ff4734 UNO interface UIKs are unused for a very long time
...so mark them as @deprecated more thoroughly and always force them to zero.

Change-Id: I5db2dab924fc5a4145a0e5dd055b654985ce2ef9
2013-09-04 14:37:54 +02:00
Stephan Bergmann
ea7ce8cf08 Write integers as signed sal_Int32
...this was a regression introduced with
64b993e046 "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-09-03 11:04:28 +02:00
Luboš Luňák
64b993e046 finish deprecation of O(U)String::valueOf()
Compiler plugin to replace with matching number(), boolean() or OUString ctor,
ran it, few manual tweaks, mark as really deprecated.

Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
2013-08-21 15:10:35 +02:00
Jelle van der Waa
2f731e7a19 fdo#43460 startmath,codemaker: use isEmpty()
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-06-17 19:34:45 +00:00
Mark Wielaard
e39e9e4cd8 Source files shouldn't have executable bit set.
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-28 12:09:27 +00:00
Stephan Bergmann
a1dff2901e Support for annotations in the new UNOIDL format
...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-16 16:12:45 +02:00
Tor Lillqvist
cb6d67c21f Spelling "separate" (etc) correctly is hard 2013-05-15 11:14:28 +03:00
Julien Nabet
53d7ae8c6b cppcheck: unusedVariable (parameters)
Change-Id: I0a7f230cb7e36857079de20a535cd883e30fd46f
2013-05-12 22:53:28 +02:00
Michael Meeks
72e5d0c8fb Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-30 13:34:06 +01:00
Stephan Bergmann
bab43b23d5 Allow for (relative) pathname args for codemakers again
Change-Id: I503d88b7d6fc44ef70d5071fddcec465e3fba856
2013-04-24 12:42:01 +02:00
David Tardon
1cc9bbfd57 gbuild: drop empty use_packages calls
Change-Id: I8e9f70eb5d929c98b4379416c2259a74e31d587f
Reviewed-on: https://gerrit.libreoffice.org/3503
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-04-24 05:18:15 +00:00
David Tardon
c042cd05e9 gbuild: drop uses of removed packages
Change-Id: I400fad08c0ae7b6b34bad63693f54856867e4dac
Reviewed-on: https://gerrit.libreoffice.org/3502
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-04-24 05:18:03 +00:00
David Tardon
6c7659b584 move URE headers to include/
Change-Id: Ib48a12e902f2311c295b2007f08f44dee28f431d
Reviewed-on: https://gerrit.libreoffice.org/3499
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
2013-04-24 05:17:10 +00:00
Bjoern Michaelsen
b9337e22ce execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/
and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details

Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
2013-04-23 22:20:31 +02:00
Michael Meeks
62badf3828 Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Stephan Bergmann
048e591819 Further codemaker, unodevtools clean-up
...getting rid of now dangling references to module registry.

Change-Id: Iccad7ff5dc0e79bf91b7b7dae03b73f16adeb121
2013-04-16 17:38:44 +02:00
Tor Lillqvist
6127d765e3 WaE: unused function 'checkNoTypeArguments'
Change-Id: I112e6ac263bb673b5ad553742d3fa77af50bdf03
2013-04-16 15:51:03 +03:00
Stephan Bergmann
30a7c6ba6b WIP: Experimental new binary type.rdb format
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-16 13:52:29 +02:00
Stephan Bergmann
4b73d334a9 Further adapt CppuType::dumpCppuGetType to using unoidl/ instead of registry/
Change-Id: Ib46d7b8934f63d88ea953707fa1fbfb51c524efd
2013-04-15 10:38:33 +02:00
Stephan Bergmann
0557453a35 Combine getSortResolve...() into one decompose()
Change-Id: Ie1c1311d1df14d5639b7642d2b9a1588605c31fc
2013-04-12 15:22:11 +02:00
Stephan Bergmann
fc02ae8f82 [API CHANGE] WIP: Experimental new binary type.rdb format
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-11 09:29:44 +02:00
Stephan Bergmann
358b60b3b1 Minor terminology clean-up
Change-Id: I4fa4431978f049a7b5b201d89743f909bc120ff4
2013-04-11 09:29:44 +02:00
Stephan Bergmann
73fc5adecf Clean up codemaker/README
Change-Id: Ic127497cbf248583337183770b0363686c18dc6d
2013-04-11 09:29:44 +02:00
Michael Stahl
857adeada9 Revert "registry: new ZipPackage_registry_odk_headers"
This reverts commit ba8372449b.

The "reg" library is not actually a stable URE interface.

Conflicts:
	odk/CustomTarget_doxygen.mk
	registry/Module_registry.mk

Change-Id: Ic53e1b8eecd6a12c9ec194df2f0093004db7c01b
2013-04-10 16:21:43 +02:00
David Tardon
988f1a078a add missing dep on salhelper/simplereferenceobject.hxx
Change-Id: I3acf314bf02bae7b2e74f317177ba81fc9fdb59e
2013-04-09 19:29:11 +02:00
Chris Sherlock
dd88ed87a5 Update README to explain what codemaker does
README change adapted from
http://wiki.openoffice.org/wiki/Uno/Binary/Modules/codemaker

Change-Id: I25c1e7012f7d27c21124cac171f3b15e989b8612
Reviewed-on: https://gerrit.libreoffice.org/3287
Reviewed-by: Tomáš Chvátal <tchvatal@suse.cz>
Tested-by: Tomáš Chvátal <tchvatal@suse.cz>
2013-04-09 11:19:21 +00:00
Tor Lillqvist
f0aecebe20 WaE: unused variable
Change-Id: I64ac7b45722e4147091068e71e9ceedea3d73010
2013-04-09 13:17:37 +03:00
Stephan Bergmann
02a8e8acd1 [API CHANGE] WIP: Experimental new binary type.rdb format
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 ba044b1e96
  "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-09 09:44:33 +02:00
Luboš Luňák
ba044b1e96 remove needless forward rtl::OUString declarations
Change-Id: I97d91a758dd82d64768d75c1d2ddd279de5f6034
2013-04-07 14:23:12 +02:00
Luboš Luňák
1946794ae0 mass removal of rtl:: prefixes for O(U)String*
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-04-07 14:23:11 +02:00
Stephan Bergmann
c1c6feedb3 Sort generated includes lexicographically
...by switching from boost::unordered_map to std::map; mainly to be able to
easily diff workdir/*/UnoApiHeadersTarget trees for regressions with upcoming
changes to cppumaker.

Change-Id: I286f9828ef2918ace635ecd551ac273f2cba803d
2013-04-02 15:34:45 +02:00
Stephan Bergmann
bb1f0c667f Clean up codemaker/typemanager.hxx
Change-Id: I650efd6780070410eaf34993dd41ed1b8ada7c9a
2013-03-27 09:36:54 +01:00
Thomas Arnhold
3991eaf556 reduce whitespaces between include and filename
Change-Id: I15f6ad0a760a28cbac53f99ba4d14ff5c24ce005
2013-03-19 01:26:45 +01:00
Michael Meeks
79b0046ba0 remove legacy build.pl prj/build.lst files. 2013-03-14 17:05:51 +00:00
Matúš Kukan
bdfdd054bd more subtle dependencies for cross-compilation
Now we build only what we really need for 'build' platform - there is
new build-tools make target.
The list of tools is in solenv/gbuild/extensions/pre_BuildTools.mk.
Also similar is done to some extent for 'host' platform using
gb_Module_add_targets_for_build which is ignored for 'host'.

Change-Id: I6acd1762b16aca366aac1a0688500f27869cfca2
2013-03-13 16:26:10 +01:00
Stephan Bergmann
8d7cc6792a css.beans.PropertyValue references css.beans.PropertyState
...so include the latter in isBootstrapType too, see
dee53a32a9 "Temporary hack around
cppu_detail_getCppuType variants violating ODR."

Change-Id: I613cf3d8699eccb149e0e1d31f4398a426ce0966
2013-03-11 12:16:37 +01:00
Marcos Paulo de Souza
9edeb948a2 Removed last RTL_CONST* macros from codemaker
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-09 23:29:39 +00:00