Commit Graph

482 Commits

Author SHA1 Message Date
cd31cfbf17 coverity#441732 Uncaught exception
Change-Id: Icd11b81566fec7ce4855cd4e54ff3a3d9862d354
2014-10-24 09:24:50 +01:00
3d9d0b78a7 coverity#1242375 Don't call fscanf without specifiers
Change-Id: I58082770ca79da9c4d235b5ea0dc79c688c7498b
2014-10-07 14:29:55 +01:00
a866478d92 codemaker: std::auto_ptr -> std::unique_ptr
Change-Id: I205c0908254f13970315f8e159997a5ec2f96ed3
2014-09-30 10:33:25 +02:00
83636d2c09 java: when rethrowing exceptions, store the original cause
so that we get a nice complete stacktrace when it hits the final
handler

Change-Id: Iec4fcc15a2a25c55f591b5e069dce3d010197a90
2014-09-25 13:47:25 +02:00
bcba2088ab coverity#1019323 Unchecked dynamic_cast
Change-Id: I3d8b598e86339fdd51af48e62393550821b6278d
2014-07-26 15:39:27 +01:00
09d79da135 coverity#1219788 Unchecked dynamic_cast
Change-Id: I1bedfb601320bc27adc0d0d72fcb8b3c5dfe73ff
2014-07-25 11:46:57 +01:00
e50ef195bc New loplugin:stringconcat
Change-Id: Id7c517fb37bc28797c45fc0dde83e866f2aa4aac
2014-07-01 15:45:52 +02:00
e2080e70fe new compilerplugin returnbyref
Find places where we are returning a pointer to something, where we can
be returning a reference.
e.g.
   class A {
     struct X x;
     public X* getX() { return &x; }
   }
which can be:
     public X& getX() { return x; }

Change-Id: I796fd23fd36a18aedf6e36bc28f8fab4f518c6c7
2014-06-24 11:34:21 +02:00
3e82897353 improve the inlinesimplememberfunctions clang plugin
Change-Id: I6d5a952901648e01904ef5c37f953c517304d31e
2014-06-17 10:55:17 +02:00
184a00b962 loplugin: inlinesimplememberfunctions
Change-Id: I42119f656ca528286fb25d2d36c0af54b7d04a6b
2014-06-09 10:10:13 +02:00
0e507ae031 various: remove SAL_THROW macro
Change-Id: I9464179a736b91f5bc32eb5e5e89b3b4e3da3494
2014-06-05 08:17:52 +02:00
c6c135930c coverity#1019311 Unchecked return value
Change-Id: I682ca0b62e6eb0d02113218de97d1440089b782c
2014-05-26 15:51:56 +01:00
e947342b9c coverity#1019326 Unchecked dynamic_cast
Change-Id: Ib3f0776048ca3dbb8a7efa4d9240f4ee9d6ac9dd
2014-05-26 15:51:56 +01:00
9c82cb60de coverity#1019329 Unchecked dynamic_cast
Change-Id: Ic340559c9ab9b74f4f932c90e08f2530c08e8d08
2014-05-26 15:51:55 +01:00
353188ecc4 coverity#1019330 Unchecked dynamic_cast
Change-Id: I9c7893f7c9af2b42dcc50f2d1463ec497bb85e30
2014-05-26 15:51:55 +01:00
7d4924a402 improve parameter flow in cpputype.cxx
after commit
  c5d47c327a57df55
  "add default value for Context param in uno::Exception constructors"

Change-Id: Ib429b58c559ecd48764a8df2f49d5470057c2c63
2014-05-23 16:44:25 +02:00
c5d47c327a add default value for Context param in uno::Exception constructors
and all it's subtypes, which is almost never used, so this allows us to
simplify lots of call sites.

Change-Id: I0b05793ea2bdd1027679f63252d42ce4af89433b
2014-05-23 15:05:59 +02:00
d0322208bc Combine unoidl::loadProvider and unoidl::Manager::addProvider
Change-Id: I1240656cc2a4d713c838eb80fa90ce3485aad614
2014-05-23 13:44:03 +02:00
8d54796bf1 enhance pass-by-ref plugin to detect large arguments
Detect arguments larger than 64 chars passed by value.

Change-Id: I9b0ea9ccb99d115984a26eab67c9cf6afd5f6cae
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2014-05-20 11:17:22 +02:00
934a7925de coverity#1213117 Unchecked dynamic_cast
Change-Id: I6f55030ea7bebce99537c7cdd5156c83c38a765a
2014-05-11 21:06:01 +01:00
2188a7ac2e Reduce the amount of strings in the release builds.
I guess even in the debug builds these strings do not add much info, but...

Change-Id: I5cf765539a821513b5ce77c5484071d181459881
2014-04-14 15:46:22 +02:00
20f14ed4a1 codemaker: sal_Bool->bool
Change-Id: I0a0691df58455b712eb27695f4cce15fd3494b65
2014-04-04 13:44:18 +02:00
362d4f0cd4 Explicitly mark overriding destructors as "virtual"
It appears that the C++ standard allows overriding destructors to be marked
"override," but at least some MSVC versions complain about it, so at least make
sure such destructors are explicitly marked "virtual."

Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
2014-04-01 19:22:54 +02:00
70cc2b191b First batch of adding SAL_OVERRRIDE to overriding function declarations
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.

Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-26 16:39:26 +01:00
c58fe8c85f codemaker,editeng: prefer passing OUString by reference
Change-Id: If3e2dd3905cc33f1e7fc9fbfbb9f2bb49a756a34
2014-03-17 09:00:07 +02:00
0bb7b87a7e Remove visual noise from codemaker
Change-Id: I098c636ed8794c858317fdbefa9ffa1c6d81c320
Reviewed-on: https://gerrit.libreoffice.org/8241
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-27 06:11:38 -06:00
07d3807e99 codemaker: sal_Bool -> bool
Change-Id: I2cacac2aa7e48b3b9d8d060137d5c6d6f1d06b3f
2014-02-17 17:55:17 +01:00
2c8193137a coverity#707676 : Uninitialized scalar field
Change-Id: I546c3f497dc98c88a0d678622c20cced387a4ab2
2014-02-01 00:10:27 -06:00
9e77c2fb7c Remove UNOIDL "array" and "union" vaporware remnants
...and deprecate what cannot be removed for compatibility.

Change-Id: I1ea335af775b867b468b8285113631167729a92a
2014-01-31 10:15:47 +01:00
fb92c8d6a4 copy&paste typo
Change-Id: I528a6a747e88fe2a4b4abfd9372daddf4e8aa502
2014-01-28 19:47:27 +01:00
3774a6fd94 Support direct ctor calls for singletons too.
Change-Id: I6db797c950b8222b3ad95faff86adf5e7b41ff4b
2014-01-28 18:52:21 +01:00
f5bcc7d91c coverity#440030 Logically dead code
Change-Id: I77428c6cf1f79dcc0e2c5e1d52f9b4b8c88130e3
2014-01-28 11:29:15 +00:00
d09c534c98 coverity#440029 Logically dead code
Change-Id: Id071c8658b473b9d393a32e1da2c2474bb7361d3
2014-01-28 11:29:15 +00:00
8bb41c67f0 coverity#1019407 Uninitialized scalar field
Change-Id: Icaa2062b00e0a68486bcbbc4a26b4089016bf2c8
2014-01-27 15:23:17 +00:00
9f030d43ef coverity#1019406 Uninitialized scalar field
Change-Id: I9f5d48c5c5c0f76aa3386cfedcaf43ced162e4b0
2014-01-27 15:23:17 +00:00
68ba6ddef5 codemaker: Allow compiler to share these generated strings.
There is really no need to see tons of

component context fails to supply service <something long> of type <something else long>:

and

component context fails to supply service <something long> of type <something else long>

in the binary ;-) - let's split the strings to parts that the linker can
share easily.

Change-Id: I07f149a587c05985045028c3b6530c6efd081ff5
2014-01-27 11:41:15 +01:00
22832569e1 Do not acquire again in direct constructor function calls.
Missing in c2c530da69152ff9192b9726aa95961803ce9b29 "Introduce static
inline cppu::acquire(), and make use of that."

Change-Id: I4a856eeaff1fce3f429c62c1897fe3898371d1ec
2014-01-23 11:41:29 +01:00
306efefe22 Minimize the constructor functions to a bare minimum.
Most of the constructors are supposed to be only a call of

  new TheInstance(arguments)

or an equivalent; so let's just change the constructor caller accordingly, to
accept unacquired new instance.

If there are exceptions that need to do more heavy lifting, they do not have
to use the constructor feature, or there can be a wrapper for the real
implementation, doing the additional work in their (C++) constructor.

Change-Id: I035c378778aeda60d15af4e56ca3761c586d5ded
2014-01-20 17:37:40 +01:00
2dc9f1791a Fix declaration for ctor functions in generated headers.
Change-Id: I329ff80da68c629d7a82921253c4412563743b34
2014-01-20 09:27:20 +01:00
a0ada918c1 Initialize also implementations created directly by generated function.
This was forgotten in commit bdeb57c23973f3ef79020847b2fe39f312cf3c0b.

Change-Id: Idd339222e3c464abc2524f78f16c8fe0a02dcd5b
2014-01-18 17:02:35 +01:00
8471b35688 Be explicit when using bool as integral value
Change-Id: I22ee35d8c26ac119b35ba6c85c06199539b0c9d7
2014-01-10 17:11:43 +01:00
d320760dc1 codemaker: fix^2 invalid string index access
...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
2014-01-10 10:16:48 +01:00
e500b25b08 ...and support direct calls of non-default ctors, too
Change-Id: I507a5664e642c75f6e9e9fe0c95c97ea76a8e5b3
2013-12-19 16:54:36 +01:00
15abebbde5 WIP: Direct service ctor calls at least on Android/iOS
Change-Id: I8a1907bc4b8f2134efb15d38a0fb5176b4384317
2013-12-19 14:42:10 +01:00
944a086d92 if there is one typo, its guaranteed to duplicated somewhere
Change-Id: Ia81069afa47fa5790b973247c68bead7de87d718
2013-12-17 10:26:21 +00:00
614e04019a codemaker: fix invalid string index access
Change-Id: Icca819484e751864d146a893fe78e8ef2c36363b
2013-11-07 01:34:33 +01:00
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
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
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
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